Connected to ml10 (Python 3.10.13)
In [ ]:
import tensorflow as tf
from keras.models import Sequential
from keras.layers import Conv2D, MaxPooling2D, UpSampling2D
from keras.preprocessing.image import ImageDataGenerator
from PIL import Image
import matplotlib.pyplot as plt
import numpy as np
import random
from sklearn.neighbors import KernelDensity
from sklearn.metrics import accuracy_score, precision_score, recall_score, f1_score, confusion_matrix, classification_report
import glob
# Check GPU availability
print("Num GPUs Available: ", len(tf.config.experimental.list_physical_devices('GPU')))
SIZE = 224
batch_size = 64
datagen = ImageDataGenerator(rescale=1./255)
train_generator = datagen.flow_from_directory(
'datasets/train',
target_size=(SIZE, SIZE),
batch_size=batch_size,
class_mode='input',
classes=['OK'],
shuffle=False
)
validation_generator = datagen.flow_from_directory(
'datasets/val',
target_size=(SIZE, SIZE),
batch_size=batch_size,
class_mode='input',
classes=['OK'],
shuffle=False
)
anomaly_generator = datagen.flow_from_directory(
'datasets/train',
target_size=(SIZE, SIZE),
batch_size=batch_size,
class_mode='input',
classes=['NG'],
shuffle=False
)
print(f"Number of training samples: {len(train_generator)}")
print(f"Number of validation samples: {len(validation_generator)}")
# Define the autoencoder model
# Encoder
model = Sequential()
model.add(Conv2D(64, (3, 3), activation='relu', padding='same', input_shape=(SIZE, SIZE, 3)))
model.add(MaxPooling2D((2, 2), padding='same'))
model.add(Conv2D(32, (3, 3), activation='relu', padding='same'))
model.add(MaxPooling2D((2, 2), padding='same'))
model.add(Conv2D(16, (3, 3), activation='relu', padding='same'))
model.add(MaxPooling2D((2, 2), padding='same'))
model.add(Conv2D(8, (3, 3), activation='relu', padding='same'))
model.add(MaxPooling2D((2, 2), padding='same'))
model.add(Conv2D(8, (3, 3), activation='relu', padding='same'))
model.add(MaxPooling2D((2, 2), padding='same'))
# Decoder
model.add(Conv2D(8, (3, 3), activation='relu', padding='same'))
model.add(UpSampling2D((2, 2)))
model.add(Conv2D(8, (3, 3), activation='relu', padding='same'))
model.add(UpSampling2D((2, 2)))
model.add(Conv2D(16, (3, 3), activation='relu', padding='same'))
model.add(UpSampling2D((2, 2)))
model.add(Conv2D(32, (3, 3), activation='relu', padding='same'))
model.add(UpSampling2D((2, 2)))
model.add(Conv2D(64, (3, 3), activation='relu', padding='same'))
model.add(UpSampling2D((2, 2)))
model.add(Conv2D(3, (3, 3), activation='sigmoid', padding='same'))
model.compile(optimizer='adam', loss='mean_squared_error', metrics=['mse'])
model.summary()
# Fit the model
history = model.fit(
train_generator,
epochs=500,
validation_data=validation_generator,
shuffle=True
)
Num GPUs Available: 1
Found 360 images belonging to 1 classes.
Found 206 images belonging to 1 classes.
Found 360 images belonging to 1 classes.
Number of training samples: 6
Number of validation samples: 4
Model: "sequential"
_________________________________________________________________
Layer (type) Output Shape Param #
=================================================================
conv2d (Conv2D) (None, 224, 224, 64) 1792
max_pooling2d (MaxPooling2D (None, 112, 112, 64) 0
)
conv2d_1 (Conv2D) (None, 112, 112, 32) 18464
max_pooling2d_1 (MaxPooling (None, 56, 56, 32) 0
2D)
conv2d_2 (Conv2D) (None, 56, 56, 16) 4624
max_pooling2d_2 (MaxPooling (None, 28, 28, 16) 0
2D)
conv2d_3 (Conv2D) (None, 28, 28, 8) 1160
max_pooling2d_3 (MaxPooling (None, 14, 14, 8) 0
2D)
conv2d_4 (Conv2D) (None, 14, 14, 8) 584
max_pooling2d_4 (MaxPooling (None, 7, 7, 8) 0
2D)
conv2d_5 (Conv2D) (None, 7, 7, 8) 584
up_sampling2d (UpSampling2D (None, 14, 14, 8) 0
)
conv2d_6 (Conv2D) (None, 14, 14, 8) 584
up_sampling2d_1 (UpSampling (None, 28, 28, 8) 0
2D)
conv2d_7 (Conv2D) (None, 28, 28, 16) 1168
up_sampling2d_2 (UpSampling (None, 56, 56, 16) 0
2D)
conv2d_8 (Conv2D) (None, 56, 56, 32) 4640
up_sampling2d_3 (UpSampling (None, 112, 112, 32) 0
2D)
conv2d_9 (Conv2D) (None, 112, 112, 64) 18496
up_sampling2d_4 (UpSampling (None, 224, 224, 64) 0
2D)
conv2d_10 (Conv2D) (None, 224, 224, 3) 1731
=================================================================
Total params: 53,827
Trainable params: 53,827
Non-trainable params: 0
_________________________________________________________________
Epoch 1/500
6/6 [==============================] - 13s 1s/step - loss: 0.0538 - mse: 0.0538 - val_loss: 0.0243 - val_mse: 0.0243
Epoch 2/500
6/6 [==============================] - 2s 311ms/step - loss: 0.0191 - mse: 0.0191 - val_loss: 0.0183 - val_mse: 0.0183
Epoch 3/500
6/6 [==============================] - 2s 314ms/step - loss: 0.0145 - mse: 0.0145 - val_loss: 0.0123 - val_mse: 0.0123
Epoch 4/500
6/6 [==============================] - 2s 326ms/step - loss: 0.0115 - mse: 0.0115 - val_loss: 0.0114 - val_mse: 0.0114
Epoch 5/500
6/6 [==============================] - 2s 325ms/step - loss: 0.0103 - mse: 0.0103 - val_loss: 0.0101 - val_mse: 0.0101
Epoch 6/500
6/6 [==============================] - 2s 339ms/step - loss: 0.0096 - mse: 0.0096 - val_loss: 0.0097 - val_mse: 0.0097
Epoch 7/500
6/6 [==============================] - 2s 338ms/step - loss: 0.0093 - mse: 0.0093 - val_loss: 0.0092 - val_mse: 0.0092
Epoch 8/500
6/6 [==============================] - 2s 330ms/step - loss: 0.0091 - mse: 0.0091 - val_loss: 0.0091 - val_mse: 0.0091
Epoch 9/500
6/6 [==============================] - 2s 341ms/step - loss: 0.0090 - mse: 0.0090 - val_loss: 0.0091 - val_mse: 0.0091
Epoch 10/500
6/6 [==============================] - 2s 320ms/step - loss: 0.0088 - mse: 0.0088 - val_loss: 0.0089 - val_mse: 0.0089
Epoch 11/500
6/6 [==============================] - 2s 315ms/step - loss: 0.0086 - mse: 0.0086 - val_loss: 0.0088 - val_mse: 0.0088
Epoch 12/500
6/6 [==============================] - 2s 327ms/step - loss: 0.0084 - mse: 0.0084 - val_loss: 0.0087 - val_mse: 0.0087
Epoch 13/500
6/6 [==============================] - 2s 325ms/step - loss: 0.0083 - mse: 0.0083 - val_loss: 0.0086 - val_mse: 0.0086
Epoch 14/500
6/6 [==============================] - 2s 326ms/step - loss: 0.0082 - mse: 0.0082 - val_loss: 0.0086 - val_mse: 0.0086
Epoch 15/500
6/6 [==============================] - 2s 321ms/step - loss: 0.0081 - mse: 0.0081 - val_loss: 0.0084 - val_mse: 0.0084
Epoch 16/500
6/6 [==============================] - 2s 321ms/step - loss: 0.0080 - mse: 0.0080 - val_loss: 0.0083 - val_mse: 0.0083
Epoch 17/500
6/6 [==============================] - 2s 330ms/step - loss: 0.0080 - mse: 0.0080 - val_loss: 0.0083 - val_mse: 0.0083
Epoch 18/500
6/6 [==============================] - 2s 319ms/step - loss: 0.0079 - mse: 0.0079 - val_loss: 0.0082 - val_mse: 0.0082
Epoch 19/500
6/6 [==============================] - 2s 318ms/step - loss: 0.0079 - mse: 0.0079 - val_loss: 0.0082 - val_mse: 0.0082
Epoch 20/500
6/6 [==============================] - 2s 331ms/step - loss: 0.0078 - mse: 0.0078 - val_loss: 0.0081 - val_mse: 0.0081
Epoch 21/500
6/6 [==============================] - 2s 326ms/step - loss: 0.0077 - mse: 0.0077 - val_loss: 0.0081 - val_mse: 0.0081
Epoch 22/500
6/6 [==============================] - 2s 332ms/step - loss: 0.0077 - mse: 0.0077 - val_loss: 0.0081 - val_mse: 0.0081
Epoch 23/500
6/6 [==============================] - 2s 326ms/step - loss: 0.0076 - mse: 0.0076 - val_loss: 0.0080 - val_mse: 0.0080
Epoch 24/500
6/6 [==============================] - 2s 315ms/step - loss: 0.0076 - mse: 0.0076 - val_loss: 0.0080 - val_mse: 0.0080
Epoch 25/500
6/6 [==============================] - 2s 316ms/step - loss: 0.0075 - mse: 0.0075 - val_loss: 0.0080 - val_mse: 0.0080
Epoch 26/500
6/6 [==============================] - 2s 326ms/step - loss: 0.0075 - mse: 0.0075 - val_loss: 0.0079 - val_mse: 0.0079
Epoch 27/500
6/6 [==============================] - 2s 313ms/step - loss: 0.0074 - mse: 0.0074 - val_loss: 0.0080 - val_mse: 0.0080
Epoch 28/500
6/6 [==============================] - 2s 311ms/step - loss: 0.0073 - mse: 0.0073 - val_loss: 0.0079 - val_mse: 0.0079
Epoch 29/500
6/6 [==============================] - 2s 313ms/step - loss: 0.0072 - mse: 0.0072 - val_loss: 0.0078 - val_mse: 0.0078
Epoch 30/500
6/6 [==============================] - 2s 316ms/step - loss: 0.0072 - mse: 0.0072 - val_loss: 0.0077 - val_mse: 0.0077
Epoch 31/500
6/6 [==============================] - 2s 314ms/step - loss: 0.0071 - mse: 0.0071 - val_loss: 0.0077 - val_mse: 0.0077
Epoch 32/500
6/6 [==============================] - 2s 313ms/step - loss: 0.0070 - mse: 0.0070 - val_loss: 0.0076 - val_mse: 0.0076
Epoch 33/500
6/6 [==============================] - 2s 339ms/step - loss: 0.0070 - mse: 0.0070 - val_loss: 0.0076 - val_mse: 0.0076
Epoch 34/500
6/6 [==============================] - 2s 316ms/step - loss: 0.0069 - mse: 0.0069 - val_loss: 0.0076 - val_mse: 0.0076
Epoch 35/500
6/6 [==============================] - 2s 322ms/step - loss: 0.0069 - mse: 0.0069 - val_loss: 0.0077 - val_mse: 0.0077
Epoch 36/500
6/6 [==============================] - 2s 340ms/step - loss: 0.0069 - mse: 0.0069 - val_loss: 0.0076 - val_mse: 0.0076
Epoch 37/500
6/6 [==============================] - 2s 316ms/step - loss: 0.0069 - mse: 0.0069 - val_loss: 0.0076 - val_mse: 0.0076
Epoch 38/500
6/6 [==============================] - 2s 316ms/step - loss: 0.0069 - mse: 0.0069 - val_loss: 0.0077 - val_mse: 0.0077
Epoch 39/500
6/6 [==============================] - 2s 320ms/step - loss: 0.0069 - mse: 0.0069 - val_loss: 0.0077 - val_mse: 0.0077
Epoch 40/500
6/6 [==============================] - 2s 324ms/step - loss: 0.0069 - mse: 0.0069 - val_loss: 0.0076 - val_mse: 0.0076
Epoch 41/500
6/6 [==============================] - 2s 317ms/step - loss: 0.0068 - mse: 0.0068 - val_loss: 0.0075 - val_mse: 0.0075
Epoch 42/500
6/6 [==============================] - 2s 322ms/step - loss: 0.0068 - mse: 0.0068 - val_loss: 0.0075 - val_mse: 0.0075
Epoch 43/500
6/6 [==============================] - 2s 339ms/step - loss: 0.0068 - mse: 0.0068 - val_loss: 0.0075 - val_mse: 0.0075
Epoch 44/500
6/6 [==============================] - 2s 314ms/step - loss: 0.0068 - mse: 0.0068 - val_loss: 0.0076 - val_mse: 0.0076
Epoch 45/500
6/6 [==============================] - 2s 312ms/step - loss: 0.0068 - mse: 0.0068 - val_loss: 0.0075 - val_mse: 0.0075
Epoch 46/500
6/6 [==============================] - 2s 317ms/step - loss: 0.0068 - mse: 0.0068 - val_loss: 0.0075 - val_mse: 0.0075
Epoch 47/500
6/6 [==============================] - 2s 340ms/step - loss: 0.0068 - mse: 0.0068 - val_loss: 0.0075 - val_mse: 0.0075
Epoch 48/500
6/6 [==============================] - 2s 314ms/step - loss: 0.0068 - mse: 0.0068 - val_loss: 0.0077 - val_mse: 0.0077
Epoch 49/500
6/6 [==============================] - 2s 315ms/step - loss: 0.0068 - mse: 0.0068 - val_loss: 0.0075 - val_mse: 0.0075
Epoch 50/500
6/6 [==============================] - 2s 324ms/step - loss: 0.0068 - mse: 0.0068 - val_loss: 0.0075 - val_mse: 0.0075
Epoch 51/500
6/6 [==============================] - 2s 323ms/step - loss: 0.0068 - mse: 0.0068 - val_loss: 0.0075 - val_mse: 0.0075
Epoch 52/500
6/6 [==============================] - 2s 322ms/step - loss: 0.0067 - mse: 0.0067 - val_loss: 0.0075 - val_mse: 0.0075
Epoch 53/500
6/6 [==============================] - 2s 318ms/step - loss: 0.0067 - mse: 0.0067 - val_loss: 0.0075 - val_mse: 0.0075
Epoch 54/500
6/6 [==============================] - 2s 318ms/step - loss: 0.0067 - mse: 0.0067 - val_loss: 0.0075 - val_mse: 0.0075
Epoch 55/500
6/6 [==============================] - 2s 317ms/step - loss: 0.0067 - mse: 0.0067 - val_loss: 0.0075 - val_mse: 0.0075
Epoch 56/500
6/6 [==============================] - 2s 323ms/step - loss: 0.0067 - mse: 0.0067 - val_loss: 0.0075 - val_mse: 0.0075
Epoch 57/500
6/6 [==============================] - 2s 333ms/step - loss: 0.0067 - mse: 0.0067 - val_loss: 0.0075 - val_mse: 0.0075
Epoch 58/500
6/6 [==============================] - 2s 314ms/step - loss: 0.0067 - mse: 0.0067 - val_loss: 0.0075 - val_mse: 0.0075
Epoch 59/500
6/6 [==============================] - 2s 314ms/step - loss: 0.0067 - mse: 0.0067 - val_loss: 0.0074 - val_mse: 0.0074
Epoch 60/500
6/6 [==============================] - 2s 321ms/step - loss: 0.0067 - mse: 0.0067 - val_loss: 0.0075 - val_mse: 0.0075
Epoch 61/500
6/6 [==============================] - 2s 342ms/step - loss: 0.0067 - mse: 0.0067 - val_loss: 0.0074 - val_mse: 0.0074
Epoch 62/500
6/6 [==============================] - 2s 344ms/step - loss: 0.0067 - mse: 0.0067 - val_loss: 0.0075 - val_mse: 0.0075
Epoch 63/500
6/6 [==============================] - 2s 318ms/step - loss: 0.0066 - mse: 0.0066 - val_loss: 0.0074 - val_mse: 0.0074
Epoch 64/500
6/6 [==============================] - 2s 315ms/step - loss: 0.0066 - mse: 0.0066 - val_loss: 0.0074 - val_mse: 0.0074
Epoch 65/500
6/6 [==============================] - 2s 333ms/step - loss: 0.0066 - mse: 0.0066 - val_loss: 0.0074 - val_mse: 0.0074
Epoch 66/500
6/6 [==============================] - 2s 320ms/step - loss: 0.0066 - mse: 0.0066 - val_loss: 0.0075 - val_mse: 0.0075
Epoch 67/500
6/6 [==============================] - 2s 318ms/step - loss: 0.0066 - mse: 0.0066 - val_loss: 0.0074 - val_mse: 0.0074
Epoch 68/500
6/6 [==============================] - 2s 316ms/step - loss: 0.0066 - mse: 0.0066 - val_loss: 0.0074 - val_mse: 0.0074
Epoch 69/500
6/6 [==============================] - 2s 320ms/step - loss: 0.0066 - mse: 0.0066 - val_loss: 0.0075 - val_mse: 0.0075
Epoch 70/500
6/6 [==============================] - 2s 315ms/step - loss: 0.0066 - mse: 0.0066 - val_loss: 0.0074 - val_mse: 0.0074
Epoch 71/500
6/6 [==============================] - 2s 320ms/step - loss: 0.0066 - mse: 0.0066 - val_loss: 0.0075 - val_mse: 0.0075
Epoch 72/500
6/6 [==============================] - 2s 320ms/step - loss: 0.0066 - mse: 0.0066 - val_loss: 0.0075 - val_mse: 0.0075
Epoch 73/500
6/6 [==============================] - 2s 315ms/step - loss: 0.0066 - mse: 0.0066 - val_loss: 0.0074 - val_mse: 0.0074
Epoch 74/500
6/6 [==============================] - 2s 319ms/step - loss: 0.0068 - mse: 0.0068 - val_loss: 0.0079 - val_mse: 0.0079
Epoch 75/500
6/6 [==============================] - 2s 314ms/step - loss: 0.0068 - mse: 0.0068 - val_loss: 0.0074 - val_mse: 0.0074
Epoch 76/500
6/6 [==============================] - 2s 316ms/step - loss: 0.0067 - mse: 0.0067 - val_loss: 0.0074 - val_mse: 0.0074
Epoch 77/500
6/6 [==============================] - 2s 323ms/step - loss: 0.0068 - mse: 0.0068 - val_loss: 0.0074 - val_mse: 0.0074
Epoch 78/500
6/6 [==============================] - 2s 339ms/step - loss: 0.0067 - mse: 0.0067 - val_loss: 0.0074 - val_mse: 0.0074
Epoch 79/500
6/6 [==============================] - 2s 388ms/step - loss: 0.0067 - mse: 0.0067 - val_loss: 0.0074 - val_mse: 0.0074
Epoch 80/500
6/6 [==============================] - 2s 415ms/step - loss: 0.0067 - mse: 0.0067 - val_loss: 0.0075 - val_mse: 0.0075
Epoch 81/500
6/6 [==============================] - 2s 360ms/step - loss: 0.0067 - mse: 0.0067 - val_loss: 0.0076 - val_mse: 0.0076
Epoch 82/500
6/6 [==============================] - 2s 363ms/step - loss: 0.0067 - mse: 0.0067 - val_loss: 0.0074 - val_mse: 0.0074
Epoch 83/500
6/6 [==============================] - 2s 381ms/step - loss: 0.0066 - mse: 0.0066 - val_loss: 0.0074 - val_mse: 0.0074
Epoch 84/500
6/6 [==============================] - 2s 372ms/step - loss: 0.0066 - mse: 0.0066 - val_loss: 0.0074 - val_mse: 0.0074
Epoch 85/500
6/6 [==============================] - 2s 332ms/step - loss: 0.0066 - mse: 0.0066 - val_loss: 0.0074 - val_mse: 0.0074
Epoch 86/500
6/6 [==============================] - 2s 350ms/step - loss: 0.0066 - mse: 0.0066 - val_loss: 0.0074 - val_mse: 0.0074
Epoch 87/500
6/6 [==============================] - 2s 343ms/step - loss: 0.0066 - mse: 0.0066 - val_loss: 0.0074 - val_mse: 0.0074
Epoch 88/500
6/6 [==============================] - 2s 374ms/step - loss: 0.0066 - mse: 0.0066 - val_loss: 0.0075 - val_mse: 0.0075
Epoch 89/500
6/6 [==============================] - 2s 362ms/step - loss: 0.0066 - mse: 0.0066 - val_loss: 0.0074 - val_mse: 0.0074
Epoch 90/500
6/6 [==============================] - 2s 363ms/step - loss: 0.0066 - mse: 0.0066 - val_loss: 0.0074 - val_mse: 0.0074
Epoch 91/500
6/6 [==============================] - 2s 407ms/step - loss: 0.0066 - mse: 0.0066 - val_loss: 0.0075 - val_mse: 0.0075
Epoch 92/500
6/6 [==============================] - 2s 378ms/step - loss: 0.0066 - mse: 0.0066 - val_loss: 0.0074 - val_mse: 0.0074
Epoch 93/500
6/6 [==============================] - 2s 357ms/step - loss: 0.0066 - mse: 0.0066 - val_loss: 0.0074 - val_mse: 0.0074
Epoch 94/500
6/6 [==============================] - 2s 338ms/step - loss: 0.0067 - mse: 0.0067 - val_loss: 0.0074 - val_mse: 0.0074
Epoch 95/500
6/6 [==============================] - 2s 335ms/step - loss: 0.0066 - mse: 0.0066 - val_loss: 0.0074 - val_mse: 0.0074
Epoch 96/500
6/6 [==============================] - 2s 338ms/step - loss: 0.0066 - mse: 0.0066 - val_loss: 0.0073 - val_mse: 0.0073
Epoch 97/500
6/6 [==============================] - 2s 350ms/step - loss: 0.0066 - mse: 0.0066 - val_loss: 0.0073 - val_mse: 0.0073
Epoch 98/500
6/6 [==============================] - 2s 355ms/step - loss: 0.0066 - mse: 0.0066 - val_loss: 0.0073 - val_mse: 0.0073
Epoch 99/500
6/6 [==============================] - 2s 342ms/step - loss: 0.0066 - mse: 0.0066 - val_loss: 0.0074 - val_mse: 0.0074
Epoch 100/500
6/6 [==============================] - 2s 343ms/step - loss: 0.0066 - mse: 0.0066 - val_loss: 0.0073 - val_mse: 0.0073
Epoch 101/500
6/6 [==============================] - 2s 337ms/step - loss: 0.0066 - mse: 0.0066 - val_loss: 0.0075 - val_mse: 0.0075
Epoch 102/500
6/6 [==============================] - 2s 348ms/step - loss: 0.0066 - mse: 0.0066 - val_loss: 0.0076 - val_mse: 0.0076
Epoch 103/500
6/6 [==============================] - 2s 366ms/step - loss: 0.0066 - mse: 0.0066 - val_loss: 0.0075 - val_mse: 0.0075
Epoch 104/500
6/6 [==============================] - 2s 361ms/step - loss: 0.0066 - mse: 0.0066 - val_loss: 0.0074 - val_mse: 0.0074
Epoch 105/500
6/6 [==============================] - 2s 347ms/step - loss: 0.0066 - mse: 0.0066 - val_loss: 0.0074 - val_mse: 0.0074
Epoch 106/500
6/6 [==============================] - 2s 352ms/step - loss: 0.0065 - mse: 0.0065 - val_loss: 0.0073 - val_mse: 0.0073
Epoch 107/500
6/6 [==============================] - 2s 357ms/step - loss: 0.0065 - mse: 0.0065 - val_loss: 0.0073 - val_mse: 0.0073
Epoch 108/500
6/6 [==============================] - 2s 353ms/step - loss: 0.0065 - mse: 0.0065 - val_loss: 0.0073 - val_mse: 0.0073
Epoch 109/500
6/6 [==============================] - 2s 323ms/step - loss: 0.0065 - mse: 0.0065 - val_loss: 0.0073 - val_mse: 0.0073
Epoch 110/500
6/6 [==============================] - 2s 326ms/step - loss: 0.0065 - mse: 0.0065 - val_loss: 0.0073 - val_mse: 0.0073
Epoch 111/500
6/6 [==============================] - 2s 327ms/step - loss: 0.0065 - mse: 0.0065 - val_loss: 0.0073 - val_mse: 0.0073
Epoch 112/500
6/6 [==============================] - 2s 330ms/step - loss: 0.0065 - mse: 0.0065 - val_loss: 0.0072 - val_mse: 0.0072
Epoch 113/500
6/6 [==============================] - 2s 363ms/step - loss: 0.0064 - mse: 0.0064 - val_loss: 0.0073 - val_mse: 0.0073
Epoch 114/500
6/6 [==============================] - 2s 363ms/step - loss: 0.0064 - mse: 0.0064 - val_loss: 0.0072 - val_mse: 0.0072
Epoch 115/500
6/6 [==============================] - 2s 351ms/step - loss: 0.0064 - mse: 0.0064 - val_loss: 0.0072 - val_mse: 0.0072
Epoch 116/500
6/6 [==============================] - 2s 354ms/step - loss: 0.0065 - mse: 0.0065 - val_loss: 0.0073 - val_mse: 0.0073
Epoch 117/500
6/6 [==============================] - 2s 370ms/step - loss: 0.0066 - mse: 0.0066 - val_loss: 0.0073 - val_mse: 0.0073
Epoch 118/500
6/6 [==============================] - 2s 324ms/step - loss: 0.0065 - mse: 0.0065 - val_loss: 0.0072 - val_mse: 0.0072
Epoch 119/500
6/6 [==============================] - 2s 321ms/step - loss: 0.0065 - mse: 0.0065 - val_loss: 0.0073 - val_mse: 0.0073
Epoch 120/500
6/6 [==============================] - 2s 322ms/step - loss: 0.0065 - mse: 0.0065 - val_loss: 0.0074 - val_mse: 0.0074
Epoch 121/500
6/6 [==============================] - 2s 344ms/step - loss: 0.0065 - mse: 0.0065 - val_loss: 0.0073 - val_mse: 0.0073
Epoch 122/500
6/6 [==============================] - 2s 381ms/step - loss: 0.0064 - mse: 0.0064 - val_loss: 0.0072 - val_mse: 0.0072
Epoch 123/500
6/6 [==============================] - 2s 404ms/step - loss: 0.0064 - mse: 0.0064 - val_loss: 0.0073 - val_mse: 0.0073
Epoch 124/500
6/6 [==============================] - 2s 400ms/step - loss: 0.0064 - mse: 0.0064 - val_loss: 0.0072 - val_mse: 0.0072
Epoch 125/500
6/6 [==============================] - 2s 401ms/step - loss: 0.0064 - mse: 0.0064 - val_loss: 0.0072 - val_mse: 0.0072
Epoch 126/500
6/6 [==============================] - 2s 356ms/step - loss: 0.0064 - mse: 0.0064 - val_loss: 0.0072 - val_mse: 0.0072
Epoch 127/500
6/6 [==============================] - 2s 359ms/step - loss: 0.0064 - mse: 0.0064 - val_loss: 0.0072 - val_mse: 0.0072
Epoch 128/500
6/6 [==============================] - 2s 346ms/step - loss: 0.0064 - mse: 0.0064 - val_loss: 0.0072 - val_mse: 0.0072
Epoch 129/500
6/6 [==============================] - 2s 325ms/step - loss: 0.0064 - mse: 0.0064 - val_loss: 0.0072 - val_mse: 0.0072
Epoch 130/500
6/6 [==============================] - 2s 324ms/step - loss: 0.0064 - mse: 0.0064 - val_loss: 0.0072 - val_mse: 0.0072
Epoch 131/500
6/6 [==============================] - 2s 333ms/step - loss: 0.0064 - mse: 0.0064 - val_loss: 0.0074 - val_mse: 0.0074
Epoch 132/500
6/6 [==============================] - 2s 327ms/step - loss: 0.0065 - mse: 0.0065 - val_loss: 0.0076 - val_mse: 0.0076
Epoch 133/500
6/6 [==============================] - 2s 323ms/step - loss: 0.0065 - mse: 0.0065 - val_loss: 0.0073 - val_mse: 0.0073
Epoch 134/500
6/6 [==============================] - 2s 324ms/step - loss: 0.0064 - mse: 0.0064 - val_loss: 0.0072 - val_mse: 0.0072
Epoch 135/500
6/6 [==============================] - 2s 321ms/step - loss: 0.0065 - mse: 0.0065 - val_loss: 0.0074 - val_mse: 0.0074
Epoch 136/500
6/6 [==============================] - 2s 318ms/step - loss: 0.0066 - mse: 0.0066 - val_loss: 0.0074 - val_mse: 0.0074
Epoch 137/500
6/6 [==============================] - 2s 323ms/step - loss: 0.0065 - mse: 0.0065 - val_loss: 0.0073 - val_mse: 0.0073
Epoch 138/500
6/6 [==============================] - 2s 322ms/step - loss: 0.0065 - mse: 0.0065 - val_loss: 0.0074 - val_mse: 0.0074
Epoch 139/500
6/6 [==============================] - 2s 345ms/step - loss: 0.0065 - mse: 0.0065 - val_loss: 0.0074 - val_mse: 0.0074
Epoch 140/500
6/6 [==============================] - 2s 323ms/step - loss: 0.0064 - mse: 0.0064 - val_loss: 0.0073 - val_mse: 0.0073
Epoch 141/500
6/6 [==============================] - 2s 342ms/step - loss: 0.0064 - mse: 0.0064 - val_loss: 0.0072 - val_mse: 0.0072
Epoch 142/500
6/6 [==============================] - 2s 329ms/step - loss: 0.0064 - mse: 0.0064 - val_loss: 0.0072 - val_mse: 0.0072
Epoch 143/500
6/6 [==============================] - 2s 327ms/step - loss: 0.0064 - mse: 0.0064 - val_loss: 0.0071 - val_mse: 0.0071
Epoch 144/500
6/6 [==============================] - 2s 351ms/step - loss: 0.0063 - mse: 0.0063 - val_loss: 0.0072 - val_mse: 0.0072
Epoch 145/500
6/6 [==============================] - 2s 318ms/step - loss: 0.0063 - mse: 0.0063 - val_loss: 0.0072 - val_mse: 0.0072
Epoch 146/500
6/6 [==============================] - 2s 325ms/step - loss: 0.0063 - mse: 0.0063 - val_loss: 0.0073 - val_mse: 0.0073
Epoch 147/500
6/6 [==============================] - 2s 318ms/step - loss: 0.0064 - mse: 0.0064 - val_loss: 0.0074 - val_mse: 0.0074
Epoch 148/500
6/6 [==============================] - 2s 319ms/step - loss: 0.0064 - mse: 0.0064 - val_loss: 0.0072 - val_mse: 0.0072
Epoch 149/500
6/6 [==============================] - 2s 321ms/step - loss: 0.0063 - mse: 0.0063 - val_loss: 0.0072 - val_mse: 0.0072
Epoch 150/500
6/6 [==============================] - 2s 329ms/step - loss: 0.0063 - mse: 0.0063 - val_loss: 0.0072 - val_mse: 0.0072
Epoch 151/500
6/6 [==============================] - 2s 324ms/step - loss: 0.0065 - mse: 0.0065 - val_loss: 0.0073 - val_mse: 0.0073
Epoch 152/500
6/6 [==============================] - 2s 326ms/step - loss: 0.0065 - mse: 0.0065 - val_loss: 0.0072 - val_mse: 0.0072
Epoch 153/500
6/6 [==============================] - 2s 335ms/step - loss: 0.0064 - mse: 0.0064 - val_loss: 0.0072 - val_mse: 0.0072
Epoch 154/500
6/6 [==============================] - 2s 319ms/step - loss: 0.0066 - mse: 0.0066 - val_loss: 0.0073 - val_mse: 0.0073
Epoch 155/500
6/6 [==============================] - 2s 311ms/step - loss: 0.0065 - mse: 0.0065 - val_loss: 0.0072 - val_mse: 0.0072
Epoch 156/500
6/6 [==============================] - 2s 323ms/step - loss: 0.0064 - mse: 0.0064 - val_loss: 0.0071 - val_mse: 0.0071
Epoch 157/500
6/6 [==============================] - 2s 348ms/step - loss: 0.0064 - mse: 0.0064 - val_loss: 0.0072 - val_mse: 0.0072
Epoch 158/500
6/6 [==============================] - 2s 370ms/step - loss: 0.0064 - mse: 0.0064 - val_loss: 0.0071 - val_mse: 0.0071
Epoch 159/500
6/6 [==============================] - 2s 366ms/step - loss: 0.0063 - mse: 0.0063 - val_loss: 0.0071 - val_mse: 0.0071
Epoch 160/500
6/6 [==============================] - 2s 352ms/step - loss: 0.0063 - mse: 0.0063 - val_loss: 0.0071 - val_mse: 0.0071
Epoch 161/500
6/6 [==============================] - 2s 349ms/step - loss: 0.0063 - mse: 0.0063 - val_loss: 0.0072 - val_mse: 0.0072
Epoch 162/500
6/6 [==============================] - 2s 351ms/step - loss: 0.0063 - mse: 0.0063 - val_loss: 0.0071 - val_mse: 0.0071
Epoch 163/500
6/6 [==============================] - 2s 381ms/step - loss: 0.0063 - mse: 0.0063 - val_loss: 0.0071 - val_mse: 0.0071
Epoch 164/500
6/6 [==============================] - 2s 372ms/step - loss: 0.0063 - mse: 0.0063 - val_loss: 0.0071 - val_mse: 0.0071
Epoch 165/500
6/6 [==============================] - 2s 368ms/step - loss: 0.0063 - mse: 0.0063 - val_loss: 0.0072 - val_mse: 0.0072
Epoch 166/500
6/6 [==============================] - 2s 389ms/step - loss: 0.0063 - mse: 0.0063 - val_loss: 0.0071 - val_mse: 0.0071
Epoch 167/500
6/6 [==============================] - 2s 377ms/step - loss: 0.0063 - mse: 0.0063 - val_loss: 0.0071 - val_mse: 0.0071
Epoch 168/500
6/6 [==============================] - 2s 373ms/step - loss: 0.0063 - mse: 0.0063 - val_loss: 0.0071 - val_mse: 0.0071
Epoch 169/500
6/6 [==============================] - 2s 335ms/step - loss: 0.0063 - mse: 0.0063 - val_loss: 0.0071 - val_mse: 0.0071
Epoch 170/500
6/6 [==============================] - 2s 317ms/step - loss: 0.0063 - mse: 0.0063 - val_loss: 0.0073 - val_mse: 0.0073
Epoch 171/500
6/6 [==============================] - 2s 357ms/step - loss: 0.0064 - mse: 0.0064 - val_loss: 0.0072 - val_mse: 0.0072
Epoch 172/500
6/6 [==============================] - 2s 324ms/step - loss: 0.0063 - mse: 0.0063 - val_loss: 0.0071 - val_mse: 0.0071
Epoch 173/500
6/6 [==============================] - 2s 338ms/step - loss: 0.0063 - mse: 0.0063 - val_loss: 0.0071 - val_mse: 0.0071
Epoch 174/500
6/6 [==============================] - 2s 361ms/step - loss: 0.0063 - mse: 0.0063 - val_loss: 0.0071 - val_mse: 0.0071
Epoch 175/500
6/6 [==============================] - 2s 359ms/step - loss: 0.0063 - mse: 0.0063 - val_loss: 0.0072 - val_mse: 0.0072
Epoch 176/500
6/6 [==============================] - 2s 338ms/step - loss: 0.0063 - mse: 0.0063 - val_loss: 0.0072 - val_mse: 0.0072
Epoch 177/500
6/6 [==============================] - 2s 336ms/step - loss: 0.0063 - mse: 0.0063 - val_loss: 0.0072 - val_mse: 0.0072
Epoch 178/500
6/6 [==============================] - 2s 341ms/step - loss: 0.0063 - mse: 0.0063 - val_loss: 0.0072 - val_mse: 0.0072
Epoch 179/500
6/6 [==============================] - 2s 323ms/step - loss: 0.0063 - mse: 0.0063 - val_loss: 0.0074 - val_mse: 0.0074
Epoch 180/500
6/6 [==============================] - 2s 325ms/step - loss: 0.0064 - mse: 0.0064 - val_loss: 0.0073 - val_mse: 0.0073
Epoch 181/500
6/6 [==============================] - 2s 330ms/step - loss: 0.0064 - mse: 0.0064 - val_loss: 0.0072 - val_mse: 0.0072
Epoch 182/500
6/6 [==============================] - 2s 333ms/step - loss: 0.0063 - mse: 0.0063 - val_loss: 0.0074 - val_mse: 0.0074
Epoch 183/500
6/6 [==============================] - 2s 360ms/step - loss: 0.0064 - mse: 0.0064 - val_loss: 0.0072 - val_mse: 0.0072
Epoch 184/500
6/6 [==============================] - 2s 326ms/step - loss: 0.0063 - mse: 0.0063 - val_loss: 0.0072 - val_mse: 0.0072
Epoch 185/500
6/6 [==============================] - 2s 320ms/step - loss: 0.0063 - mse: 0.0063 - val_loss: 0.0072 - val_mse: 0.0072
Epoch 186/500
6/6 [==============================] - 2s 318ms/step - loss: 0.0063 - mse: 0.0063 - val_loss: 0.0073 - val_mse: 0.0073
Epoch 187/500
6/6 [==============================] - 2s 328ms/step - loss: 0.0063 - mse: 0.0063 - val_loss: 0.0072 - val_mse: 0.0072
Epoch 188/500
6/6 [==============================] - 2s 334ms/step - loss: 0.0063 - mse: 0.0063 - val_loss: 0.0072 - val_mse: 0.0072
Epoch 189/500
6/6 [==============================] - 2s 336ms/step - loss: 0.0062 - mse: 0.0062 - val_loss: 0.0071 - val_mse: 0.0071
Epoch 190/500
6/6 [==============================] - 2s 336ms/step - loss: 0.0062 - mse: 0.0062 - val_loss: 0.0071 - val_mse: 0.0071
Epoch 191/500
6/6 [==============================] - 2s 317ms/step - loss: 0.0062 - mse: 0.0062 - val_loss: 0.0072 - val_mse: 0.0072
Epoch 192/500
6/6 [==============================] - 2s 326ms/step - loss: 0.0062 - mse: 0.0062 - val_loss: 0.0071 - val_mse: 0.0071
Epoch 193/500
6/6 [==============================] - 2s 340ms/step - loss: 0.0062 - mse: 0.0062 - val_loss: 0.0072 - val_mse: 0.0072
Epoch 194/500
6/6 [==============================] - 2s 321ms/step - loss: 0.0062 - mse: 0.0062 - val_loss: 0.0071 - val_mse: 0.0071
Epoch 195/500
6/6 [==============================] - 2s 331ms/step - loss: 0.0062 - mse: 0.0062 - val_loss: 0.0071 - val_mse: 0.0071
Epoch 196/500
6/6 [==============================] - 2s 320ms/step - loss: 0.0062 - mse: 0.0062 - val_loss: 0.0071 - val_mse: 0.0071
Epoch 197/500
6/6 [==============================] - 2s 316ms/step - loss: 0.0062 - mse: 0.0062 - val_loss: 0.0071 - val_mse: 0.0071
Epoch 198/500
6/6 [==============================] - 2s 322ms/step - loss: 0.0062 - mse: 0.0062 - val_loss: 0.0072 - val_mse: 0.0072
Epoch 199/500
6/6 [==============================] - 2s 339ms/step - loss: 0.0062 - mse: 0.0062 - val_loss: 0.0072 - val_mse: 0.0072
Epoch 200/500
6/6 [==============================] - 2s 353ms/step - loss: 0.0063 - mse: 0.0063 - val_loss: 0.0072 - val_mse: 0.0072
Epoch 201/500
6/6 [==============================] - 2s 354ms/step - loss: 0.0063 - mse: 0.0063 - val_loss: 0.0072 - val_mse: 0.0072
Epoch 202/500
6/6 [==============================] - 2s 320ms/step - loss: 0.0063 - mse: 0.0063 - val_loss: 0.0073 - val_mse: 0.0073
Epoch 203/500
6/6 [==============================] - 2s 319ms/step - loss: 0.0062 - mse: 0.0062 - val_loss: 0.0072 - val_mse: 0.0072
Epoch 204/500
6/6 [==============================] - 2s 316ms/step - loss: 0.0062 - mse: 0.0062 - val_loss: 0.0071 - val_mse: 0.0071
Epoch 205/500
6/6 [==============================] - 2s 314ms/step - loss: 0.0062 - mse: 0.0062 - val_loss: 0.0071 - val_mse: 0.0071
Epoch 206/500
6/6 [==============================] - 2s 318ms/step - loss: 0.0062 - mse: 0.0062 - val_loss: 0.0071 - val_mse: 0.0071
Epoch 207/500
6/6 [==============================] - 2s 325ms/step - loss: 0.0062 - mse: 0.0062 - val_loss: 0.0070 - val_mse: 0.0070
Epoch 208/500
6/6 [==============================] - 2s 329ms/step - loss: 0.0062 - mse: 0.0062 - val_loss: 0.0071 - val_mse: 0.0071
Epoch 209/500
6/6 [==============================] - 2s 320ms/step - loss: 0.0062 - mse: 0.0062 - val_loss: 0.0071 - val_mse: 0.0071
Epoch 210/500
6/6 [==============================] - 2s 319ms/step - loss: 0.0062 - mse: 0.0062 - val_loss: 0.0071 - val_mse: 0.0071
Epoch 211/500
6/6 [==============================] - 2s 315ms/step - loss: 0.0062 - mse: 0.0062 - val_loss: 0.0071 - val_mse: 0.0071
Epoch 212/500
6/6 [==============================] - 2s 321ms/step - loss: 0.0062 - mse: 0.0062 - val_loss: 0.0071 - val_mse: 0.0071
Epoch 213/500
6/6 [==============================] - 2s 331ms/step - loss: 0.0062 - mse: 0.0062 - val_loss: 0.0071 - val_mse: 0.0071
Epoch 214/500
6/6 [==============================] - 2s 326ms/step - loss: 0.0061 - mse: 0.0061 - val_loss: 0.0071 - val_mse: 0.0071
Epoch 215/500
6/6 [==============================] - 2s 323ms/step - loss: 0.0061 - mse: 0.0061 - val_loss: 0.0071 - val_mse: 0.0071
Epoch 216/500
6/6 [==============================] - 2s 316ms/step - loss: 0.0061 - mse: 0.0061 - val_loss: 0.0070 - val_mse: 0.0070
Epoch 217/500
6/6 [==============================] - 2s 316ms/step - loss: 0.0061 - mse: 0.0061 - val_loss: 0.0071 - val_mse: 0.0071
Epoch 218/500
6/6 [==============================] - 2s 353ms/step - loss: 0.0061 - mse: 0.0061 - val_loss: 0.0071 - val_mse: 0.0071
Epoch 219/500
6/6 [==============================] - 2s 360ms/step - loss: 0.0062 - mse: 0.0062 - val_loss: 0.0071 - val_mse: 0.0071
Epoch 220/500
6/6 [==============================] - 2s 388ms/step - loss: 0.0061 - mse: 0.0061 - val_loss: 0.0071 - val_mse: 0.0071
Epoch 221/500
6/6 [==============================] - 2s 398ms/step - loss: 0.0061 - mse: 0.0061 - val_loss: 0.0070 - val_mse: 0.0070
Epoch 222/500
6/6 [==============================] - 2s 379ms/step - loss: 0.0061 - mse: 0.0061 - val_loss: 0.0070 - val_mse: 0.0070
Epoch 223/500
6/6 [==============================] - 2s 348ms/step - loss: 0.0061 - mse: 0.0061 - val_loss: 0.0071 - val_mse: 0.0071
Epoch 224/500
6/6 [==============================] - 2s 321ms/step - loss: 0.0061 - mse: 0.0061 - val_loss: 0.0071 - val_mse: 0.0071
Epoch 225/500
6/6 [==============================] - 2s 342ms/step - loss: 0.0061 - mse: 0.0061 - val_loss: 0.0071 - val_mse: 0.0071
Epoch 226/500
6/6 [==============================] - 2s 327ms/step - loss: 0.0062 - mse: 0.0062 - val_loss: 0.0071 - val_mse: 0.0071
Epoch 227/500
6/6 [==============================] - 2s 326ms/step - loss: 0.0062 - mse: 0.0062 - val_loss: 0.0070 - val_mse: 0.0070
Epoch 228/500
6/6 [==============================] - 2s 336ms/step - loss: 0.0062 - mse: 0.0062 - val_loss: 0.0072 - val_mse: 0.0072
Epoch 229/500
6/6 [==============================] - 2s 326ms/step - loss: 0.0062 - mse: 0.0062 - val_loss: 0.0072 - val_mse: 0.0072
Epoch 230/500
6/6 [==============================] - 2s 329ms/step - loss: 0.0063 - mse: 0.0063 - val_loss: 0.0074 - val_mse: 0.0074
Epoch 231/500
6/6 [==============================] - 2s 327ms/step - loss: 0.0062 - mse: 0.0062 - val_loss: 0.0074 - val_mse: 0.0074
Epoch 232/500
6/6 [==============================] - 2s 317ms/step - loss: 0.0062 - mse: 0.0062 - val_loss: 0.0073 - val_mse: 0.0073
Epoch 233/500
6/6 [==============================] - 2s 340ms/step - loss: 0.0063 - mse: 0.0063 - val_loss: 0.0072 - val_mse: 0.0072
Epoch 234/500
6/6 [==============================] - 2s 336ms/step - loss: 0.0062 - mse: 0.0062 - val_loss: 0.0072 - val_mse: 0.0072
Epoch 235/500
6/6 [==============================] - 2s 344ms/step - loss: 0.0063 - mse: 0.0063 - val_loss: 0.0073 - val_mse: 0.0073
Epoch 236/500
6/6 [==============================] - 2s 347ms/step - loss: 0.0063 - mse: 0.0063 - val_loss: 0.0071 - val_mse: 0.0071
Epoch 237/500
6/6 [==============================] - 2s 339ms/step - loss: 0.0062 - mse: 0.0062 - val_loss: 0.0072 - val_mse: 0.0072
Epoch 238/500
6/6 [==============================] - 2s 339ms/step - loss: 0.0062 - mse: 0.0062 - val_loss: 0.0071 - val_mse: 0.0071
Epoch 239/500
6/6 [==============================] - 2s 316ms/step - loss: 0.0062 - mse: 0.0062 - val_loss: 0.0071 - val_mse: 0.0071
Epoch 240/500
6/6 [==============================] - 2s 320ms/step - loss: 0.0062 - mse: 0.0062 - val_loss: 0.0070 - val_mse: 0.0070
Epoch 241/500
6/6 [==============================] - 2s 321ms/step - loss: 0.0062 - mse: 0.0062 - val_loss: 0.0071 - val_mse: 0.0071
Epoch 242/500
6/6 [==============================] - 2s 318ms/step - loss: 0.0062 - mse: 0.0062 - val_loss: 0.0072 - val_mse: 0.0072
Epoch 243/500
6/6 [==============================] - 2s 323ms/step - loss: 0.0061 - mse: 0.0061 - val_loss: 0.0071 - val_mse: 0.0071
Epoch 244/500
6/6 [==============================] - 2s 340ms/step - loss: 0.0062 - mse: 0.0062 - val_loss: 0.0072 - val_mse: 0.0072
Epoch 245/500
6/6 [==============================] - 2s 322ms/step - loss: 0.0061 - mse: 0.0061 - val_loss: 0.0071 - val_mse: 0.0071
Epoch 246/500
6/6 [==============================] - 2s 330ms/step - loss: 0.0061 - mse: 0.0061 - val_loss: 0.0070 - val_mse: 0.0070
Epoch 247/500
6/6 [==============================] - 2s 338ms/step - loss: 0.0061 - mse: 0.0061 - val_loss: 0.0071 - val_mse: 0.0071
Epoch 248/500
6/6 [==============================] - 2s 313ms/step - loss: 0.0061 - mse: 0.0061 - val_loss: 0.0071 - val_mse: 0.0071
Epoch 249/500
6/6 [==============================] - 2s 326ms/step - loss: 0.0061 - mse: 0.0061 - val_loss: 0.0070 - val_mse: 0.0070
Epoch 250/500
6/6 [==============================] - 2s 318ms/step - loss: 0.0061 - mse: 0.0061 - val_loss: 0.0071 - val_mse: 0.0071
Epoch 251/500
6/6 [==============================] - 2s 319ms/step - loss: 0.0062 - mse: 0.0062 - val_loss: 0.0070 - val_mse: 0.0070
Epoch 252/500
6/6 [==============================] - 2s 322ms/step - loss: 0.0062 - mse: 0.0062 - val_loss: 0.0071 - val_mse: 0.0071
Epoch 253/500
6/6 [==============================] - 2s 318ms/step - loss: 0.0062 - mse: 0.0062 - val_loss: 0.0071 - val_mse: 0.0071
Epoch 254/500
6/6 [==============================] - 2s 326ms/step - loss: 0.0062 - mse: 0.0062 - val_loss: 0.0071 - val_mse: 0.0071
Epoch 255/500
6/6 [==============================] - 2s 319ms/step - loss: 0.0062 - mse: 0.0062 - val_loss: 0.0070 - val_mse: 0.0070
Epoch 256/500
6/6 [==============================] - 2s 316ms/step - loss: 0.0061 - mse: 0.0061 - val_loss: 0.0070 - val_mse: 0.0070
Epoch 257/500
6/6 [==============================] - 2s 339ms/step - loss: 0.0061 - mse: 0.0061 - val_loss: 0.0071 - val_mse: 0.0071
Epoch 258/500
6/6 [==============================] - 2s 320ms/step - loss: 0.0061 - mse: 0.0061 - val_loss: 0.0070 - val_mse: 0.0070
Epoch 259/500
6/6 [==============================] - 2s 340ms/step - loss: 0.0061 - mse: 0.0061 - val_loss: 0.0070 - val_mse: 0.0070
Epoch 260/500
6/6 [==============================] - 2s 316ms/step - loss: 0.0061 - mse: 0.0061 - val_loss: 0.0071 - val_mse: 0.0071
Epoch 261/500
6/6 [==============================] - 2s 381ms/step - loss: 0.0061 - mse: 0.0061 - val_loss: 0.0071 - val_mse: 0.0071
Epoch 262/500
6/6 [==============================] - 2s 336ms/step - loss: 0.0061 - mse: 0.0061 - val_loss: 0.0072 - val_mse: 0.0072
Epoch 263/500
6/6 [==============================] - 2s 335ms/step - loss: 0.0061 - mse: 0.0061 - val_loss: 0.0073 - val_mse: 0.0073
Epoch 264/500
6/6 [==============================] - 2s 341ms/step - loss: 0.0064 - mse: 0.0064 - val_loss: 0.0075 - val_mse: 0.0075
Epoch 265/500
6/6 [==============================] - 2s 320ms/step - loss: 0.0064 - mse: 0.0064 - val_loss: 0.0073 - val_mse: 0.0073
Epoch 266/500
6/6 [==============================] - 2s 320ms/step - loss: 0.0064 - mse: 0.0064 - val_loss: 0.0071 - val_mse: 0.0071
Epoch 267/500
6/6 [==============================] - 2s 335ms/step - loss: 0.0063 - mse: 0.0063 - val_loss: 0.0074 - val_mse: 0.0074
Epoch 268/500
6/6 [==============================] - 2s 318ms/step - loss: 0.0063 - mse: 0.0063 - val_loss: 0.0071 - val_mse: 0.0071
Epoch 269/500
6/6 [==============================] - 2s 327ms/step - loss: 0.0062 - mse: 0.0062 - val_loss: 0.0072 - val_mse: 0.0072
Epoch 270/500
6/6 [==============================] - 2s 323ms/step - loss: 0.0062 - mse: 0.0062 - val_loss: 0.0070 - val_mse: 0.0070
Epoch 271/500
6/6 [==============================] - 2s 321ms/step - loss: 0.0061 - mse: 0.0061 - val_loss: 0.0071 - val_mse: 0.0071
Epoch 272/500
6/6 [==============================] - 2s 339ms/step - loss: 0.0062 - mse: 0.0062 - val_loss: 0.0072 - val_mse: 0.0072
Epoch 273/500
6/6 [==============================] - 2s 314ms/step - loss: 0.0062 - mse: 0.0062 - val_loss: 0.0072 - val_mse: 0.0072
Epoch 274/500
6/6 [==============================] - 2s 338ms/step - loss: 0.0062 - mse: 0.0062 - val_loss: 0.0073 - val_mse: 0.0073
Epoch 275/500
6/6 [==============================] - 2s 317ms/step - loss: 0.0062 - mse: 0.0062 - val_loss: 0.0072 - val_mse: 0.0072
Epoch 276/500
6/6 [==============================] - 2s 314ms/step - loss: 0.0061 - mse: 0.0061 - val_loss: 0.0072 - val_mse: 0.0072
Epoch 277/500
6/6 [==============================] - 2s 315ms/step - loss: 0.0061 - mse: 0.0061 - val_loss: 0.0073 - val_mse: 0.0073
Epoch 278/500
6/6 [==============================] - 2s 342ms/step - loss: 0.0063 - mse: 0.0063 - val_loss: 0.0073 - val_mse: 0.0073
Epoch 279/500
6/6 [==============================] - 2s 360ms/step - loss: 0.0062 - mse: 0.0062 - val_loss: 0.0071 - val_mse: 0.0071
Epoch 280/500
6/6 [==============================] - 2s 342ms/step - loss: 0.0062 - mse: 0.0062 - val_loss: 0.0071 - val_mse: 0.0071
Epoch 281/500
6/6 [==============================] - 2s 323ms/step - loss: 0.0061 - mse: 0.0061 - val_loss: 0.0071 - val_mse: 0.0071
Epoch 282/500
6/6 [==============================] - 2s 322ms/step - loss: 0.0062 - mse: 0.0062 - val_loss: 0.0071 - val_mse: 0.0071
Epoch 283/500
6/6 [==============================] - 2s 323ms/step - loss: 0.0061 - mse: 0.0061 - val_loss: 0.0071 - val_mse: 0.0071
Epoch 284/500
6/6 [==============================] - 2s 327ms/step - loss: 0.0061 - mse: 0.0061 - val_loss: 0.0071 - val_mse: 0.0071
Epoch 285/500
6/6 [==============================] - 2s 327ms/step - loss: 0.0061 - mse: 0.0061 - val_loss: 0.0071 - val_mse: 0.0071
Epoch 286/500
6/6 [==============================] - 2s 328ms/step - loss: 0.0061 - mse: 0.0061 - val_loss: 0.0070 - val_mse: 0.0070
Epoch 287/500
6/6 [==============================] - 2s 345ms/step - loss: 0.0061 - mse: 0.0061 - val_loss: 0.0070 - val_mse: 0.0070
Epoch 288/500
6/6 [==============================] - 2s 342ms/step - loss: 0.0061 - mse: 0.0061 - val_loss: 0.0071 - val_mse: 0.0071
Epoch 289/500
6/6 [==============================] - 2s 393ms/step - loss: 0.0061 - mse: 0.0061 - val_loss: 0.0070 - val_mse: 0.0070
Epoch 290/500
6/6 [==============================] - 2s 350ms/step - loss: 0.0061 - mse: 0.0061 - val_loss: 0.0070 - val_mse: 0.0070
Epoch 291/500
6/6 [==============================] - 2s 383ms/step - loss: 0.0061 - mse: 0.0061 - val_loss: 0.0070 - val_mse: 0.0070
Epoch 292/500
6/6 [==============================] - 2s 342ms/step - loss: 0.0061 - mse: 0.0061 - val_loss: 0.0070 - val_mse: 0.0070
Epoch 293/500
6/6 [==============================] - 2s 340ms/step - loss: 0.0061 - mse: 0.0061 - val_loss: 0.0071 - val_mse: 0.0071
Epoch 294/500
6/6 [==============================] - 2s 347ms/step - loss: 0.0061 - mse: 0.0061 - val_loss: 0.0071 - val_mse: 0.0071
Epoch 295/500
6/6 [==============================] - 2s 340ms/step - loss: 0.0061 - mse: 0.0061 - val_loss: 0.0071 - val_mse: 0.0071
Epoch 296/500
6/6 [==============================] - 2s 345ms/step - loss: 0.0061 - mse: 0.0061 - val_loss: 0.0071 - val_mse: 0.0071
Epoch 297/500
6/6 [==============================] - 2s 334ms/step - loss: 0.0061 - mse: 0.0061 - val_loss: 0.0070 - val_mse: 0.0070
Epoch 298/500
6/6 [==============================] - 2s 342ms/step - loss: 0.0061 - mse: 0.0061 - val_loss: 0.0070 - val_mse: 0.0070
Epoch 299/500
6/6 [==============================] - 2s 361ms/step - loss: 0.0061 - mse: 0.0061 - val_loss: 0.0070 - val_mse: 0.0070
Epoch 300/500
6/6 [==============================] - 2s 370ms/step - loss: 0.0061 - mse: 0.0061 - val_loss: 0.0070 - val_mse: 0.0070
Epoch 301/500
6/6 [==============================] - 2s 345ms/step - loss: 0.0061 - mse: 0.0061 - val_loss: 0.0070 - val_mse: 0.0070
Epoch 302/500
6/6 [==============================] - 2s 340ms/step - loss: 0.0061 - mse: 0.0061 - val_loss: 0.0071 - val_mse: 0.0071
Epoch 303/500
6/6 [==============================] - 2s 328ms/step - loss: 0.0061 - mse: 0.0061 - val_loss: 0.0071 - val_mse: 0.0071
Epoch 304/500
6/6 [==============================] - 2s 326ms/step - loss: 0.0061 - mse: 0.0061 - val_loss: 0.0071 - val_mse: 0.0071
Epoch 305/500
6/6 [==============================] - 2s 343ms/step - loss: 0.0061 - mse: 0.0061 - val_loss: 0.0071 - val_mse: 0.0071
Epoch 306/500
6/6 [==============================] - 2s 351ms/step - loss: 0.0061 - mse: 0.0061 - val_loss: 0.0071 - val_mse: 0.0071
Epoch 307/500
6/6 [==============================] - 2s 350ms/step - loss: 0.0061 - mse: 0.0061 - val_loss: 0.0071 - val_mse: 0.0071
Epoch 308/500
6/6 [==============================] - 2s 338ms/step - loss: 0.0060 - mse: 0.0060 - val_loss: 0.0070 - val_mse: 0.0070
Epoch 309/500
6/6 [==============================] - 2s 350ms/step - loss: 0.0060 - mse: 0.0060 - val_loss: 0.0070 - val_mse: 0.0070
Epoch 310/500
6/6 [==============================] - 2s 340ms/step - loss: 0.0061 - mse: 0.0061 - val_loss: 0.0070 - val_mse: 0.0070
Epoch 311/500
6/6 [==============================] - 2s 342ms/step - loss: 0.0061 - mse: 0.0061 - val_loss: 0.0070 - val_mse: 0.0070
Epoch 312/500
6/6 [==============================] - 2s 324ms/step - loss: 0.0061 - mse: 0.0061 - val_loss: 0.0070 - val_mse: 0.0070
Epoch 313/500
6/6 [==============================] - 2s 338ms/step - loss: 0.0061 - mse: 0.0061 - val_loss: 0.0070 - val_mse: 0.0070
Epoch 314/500
6/6 [==============================] - 2s 324ms/step - loss: 0.0061 - mse: 0.0061 - val_loss: 0.0070 - val_mse: 0.0070
Epoch 315/500
6/6 [==============================] - 2s 353ms/step - loss: 0.0061 - mse: 0.0061 - val_loss: 0.0070 - val_mse: 0.0070
Epoch 316/500
6/6 [==============================] - 2s 336ms/step - loss: 0.0060 - mse: 0.0060 - val_loss: 0.0071 - val_mse: 0.0071
Epoch 317/500
6/6 [==============================] - 2s 345ms/step - loss: 0.0060 - mse: 0.0060 - val_loss: 0.0071 - val_mse: 0.0071
Epoch 318/500
6/6 [==============================] - 2s 349ms/step - loss: 0.0060 - mse: 0.0060 - val_loss: 0.0070 - val_mse: 0.0070
Epoch 319/500
6/6 [==============================] - 2s 365ms/step - loss: 0.0060 - mse: 0.0060 - val_loss: 0.0070 - val_mse: 0.0070
Epoch 320/500
6/6 [==============================] - 2s 330ms/step - loss: 0.0060 - mse: 0.0060 - val_loss: 0.0071 - val_mse: 0.0071
Epoch 321/500
6/6 [==============================] - 2s 330ms/step - loss: 0.0060 - mse: 0.0060 - val_loss: 0.0071 - val_mse: 0.0071
Epoch 322/500
6/6 [==============================] - 2s 326ms/step - loss: 0.0061 - mse: 0.0061 - val_loss: 0.0070 - val_mse: 0.0070
Epoch 323/500
6/6 [==============================] - 2s 345ms/step - loss: 0.0061 - mse: 0.0061 - val_loss: 0.0070 - val_mse: 0.0070
Epoch 324/500
6/6 [==============================] - 2s 319ms/step - loss: 0.0061 - mse: 0.0061 - val_loss: 0.0070 - val_mse: 0.0070
Epoch 325/500
6/6 [==============================] - 2s 320ms/step - loss: 0.0061 - mse: 0.0061 - val_loss: 0.0071 - val_mse: 0.0071
Epoch 326/500
6/6 [==============================] - 2s 360ms/step - loss: 0.0060 - mse: 0.0060 - val_loss: 0.0070 - val_mse: 0.0070
Epoch 327/500
6/6 [==============================] - 2s 340ms/step - loss: 0.0060 - mse: 0.0060 - val_loss: 0.0071 - val_mse: 0.0071
Epoch 328/500
6/6 [==============================] - 2s 338ms/step - loss: 0.0060 - mse: 0.0060 - val_loss: 0.0070 - val_mse: 0.0070
Epoch 329/500
6/6 [==============================] - 2s 317ms/step - loss: 0.0060 - mse: 0.0060 - val_loss: 0.0070 - val_mse: 0.0070
Epoch 330/500
6/6 [==============================] - 2s 320ms/step - loss: 0.0061 - mse: 0.0061 - val_loss: 0.0070 - val_mse: 0.0070
Epoch 331/500
6/6 [==============================] - 2s 322ms/step - loss: 0.0061 - mse: 0.0061 - val_loss: 0.0071 - val_mse: 0.0071
Epoch 332/500
6/6 [==============================] - 2s 333ms/step - loss: 0.0062 - mse: 0.0062 - val_loss: 0.0071 - val_mse: 0.0071
Epoch 333/500
6/6 [==============================] - 2s 340ms/step - loss: 0.0062 - mse: 0.0062 - val_loss: 0.0070 - val_mse: 0.0070
Epoch 334/500
6/6 [==============================] - 2s 321ms/step - loss: 0.0061 - mse: 0.0061 - val_loss: 0.0071 - val_mse: 0.0071
Epoch 335/500
6/6 [==============================] - 2s 338ms/step - loss: 0.0062 - mse: 0.0062 - val_loss: 0.0071 - val_mse: 0.0071
Epoch 336/500
6/6 [==============================] - 2s 332ms/step - loss: 0.0062 - mse: 0.0062 - val_loss: 0.0070 - val_mse: 0.0070
Epoch 337/500
6/6 [==============================] - 2s 356ms/step - loss: 0.0061 - mse: 0.0061 - val_loss: 0.0070 - val_mse: 0.0070
Epoch 338/500
6/6 [==============================] - 2s 326ms/step - loss: 0.0061 - mse: 0.0061 - val_loss: 0.0071 - val_mse: 0.0071
Epoch 339/500
6/6 [==============================] - 2s 363ms/step - loss: 0.0061 - mse: 0.0061 - val_loss: 0.0071 - val_mse: 0.0071
Epoch 340/500
6/6 [==============================] - 2s 325ms/step - loss: 0.0062 - mse: 0.0062 - val_loss: 0.0072 - val_mse: 0.0072
Epoch 341/500
6/6 [==============================] - 2s 321ms/step - loss: 0.0063 - mse: 0.0063 - val_loss: 0.0072 - val_mse: 0.0072
Epoch 342/500
6/6 [==============================] - 2s 323ms/step - loss: 0.0063 - mse: 0.0063 - val_loss: 0.0070 - val_mse: 0.0070
Epoch 343/500
6/6 [==============================] - 2s 334ms/step - loss: 0.0062 - mse: 0.0062 - val_loss: 0.0071 - val_mse: 0.0071
Epoch 344/500
6/6 [==============================] - 2s 323ms/step - loss: 0.0062 - mse: 0.0062 - val_loss: 0.0071 - val_mse: 0.0071
Epoch 345/500
6/6 [==============================] - 2s 321ms/step - loss: 0.0062 - mse: 0.0062 - val_loss: 0.0071 - val_mse: 0.0071
Epoch 346/500
6/6 [==============================] - 2s 315ms/step - loss: 0.0062 - mse: 0.0062 - val_loss: 0.0071 - val_mse: 0.0071
Epoch 347/500
6/6 [==============================] - 2s 338ms/step - loss: 0.0062 - mse: 0.0062 - val_loss: 0.0071 - val_mse: 0.0071
Epoch 348/500
6/6 [==============================] - 2s 318ms/step - loss: 0.0061 - mse: 0.0061 - val_loss: 0.0072 - val_mse: 0.0072
Epoch 349/500
6/6 [==============================] - 2s 334ms/step - loss: 0.0061 - mse: 0.0061 - val_loss: 0.0071 - val_mse: 0.0071
Epoch 350/500
6/6 [==============================] - 2s 324ms/step - loss: 0.0061 - mse: 0.0061 - val_loss: 0.0070 - val_mse: 0.0070
Epoch 351/500
6/6 [==============================] - 2s 332ms/step - loss: 0.0061 - mse: 0.0061 - val_loss: 0.0070 - val_mse: 0.0070
Epoch 352/500
6/6 [==============================] - 2s 316ms/step - loss: 0.0062 - mse: 0.0062 - val_loss: 0.0070 - val_mse: 0.0070
Epoch 353/500
6/6 [==============================] - 2s 314ms/step - loss: 0.0062 - mse: 0.0062 - val_loss: 0.0071 - val_mse: 0.0071
Epoch 354/500
6/6 [==============================] - 2s 338ms/step - loss: 0.0063 - mse: 0.0063 - val_loss: 0.0072 - val_mse: 0.0072
Epoch 355/500
6/6 [==============================] - 2s 314ms/step - loss: 0.0062 - mse: 0.0062 - val_loss: 0.0071 - val_mse: 0.0071
Epoch 356/500
6/6 [==============================] - 2s 314ms/step - loss: 0.0062 - mse: 0.0062 - val_loss: 0.0071 - val_mse: 0.0071
Epoch 357/500
6/6 [==============================] - 2s 334ms/step - loss: 0.0062 - mse: 0.0062 - val_loss: 0.0071 - val_mse: 0.0071
Epoch 358/500
6/6 [==============================] - 2s 320ms/step - loss: 0.0061 - mse: 0.0061 - val_loss: 0.0072 - val_mse: 0.0072
Epoch 359/500
6/6 [==============================] - 2s 314ms/step - loss: 0.0061 - mse: 0.0061 - val_loss: 0.0070 - val_mse: 0.0070
Epoch 360/500
6/6 [==============================] - 2s 318ms/step - loss: 0.0061 - mse: 0.0061 - val_loss: 0.0071 - val_mse: 0.0071
Epoch 361/500
6/6 [==============================] - 2s 340ms/step - loss: 0.0061 - mse: 0.0061 - val_loss: 0.0071 - val_mse: 0.0071
Epoch 362/500
6/6 [==============================] - 2s 320ms/step - loss: 0.0061 - mse: 0.0061 - val_loss: 0.0070 - val_mse: 0.0070
Epoch 363/500
6/6 [==============================] - 2s 318ms/step - loss: 0.0061 - mse: 0.0061 - val_loss: 0.0071 - val_mse: 0.0071
Epoch 364/500
6/6 [==============================] - 2s 332ms/step - loss: 0.0061 - mse: 0.0061 - val_loss: 0.0072 - val_mse: 0.0072
Epoch 365/500
6/6 [==============================] - 2s 333ms/step - loss: 0.0061 - mse: 0.0061 - val_loss: 0.0072 - val_mse: 0.0072
Epoch 366/500
6/6 [==============================] - 2s 351ms/step - loss: 0.0060 - mse: 0.0060 - val_loss: 0.0071 - val_mse: 0.0071
Epoch 367/500
6/6 [==============================] - 2s 368ms/step - loss: 0.0060 - mse: 0.0060 - val_loss: 0.0070 - val_mse: 0.0070
Epoch 368/500
6/6 [==============================] - 2s 330ms/step - loss: 0.0060 - mse: 0.0060 - val_loss: 0.0070 - val_mse: 0.0070
Epoch 369/500
6/6 [==============================] - 2s 361ms/step - loss: 0.0060 - mse: 0.0060 - val_loss: 0.0071 - val_mse: 0.0071
Epoch 370/500
6/6 [==============================] - 2s 364ms/step - loss: 0.0060 - mse: 0.0060 - val_loss: 0.0071 - val_mse: 0.0071
Epoch 371/500
6/6 [==============================] - 2s 329ms/step - loss: 0.0060 - mse: 0.0060 - val_loss: 0.0071 - val_mse: 0.0071
Epoch 372/500
6/6 [==============================] - 2s 329ms/step - loss: 0.0060 - mse: 0.0060 - val_loss: 0.0070 - val_mse: 0.0070
Epoch 373/500
6/6 [==============================] - 2s 331ms/step - loss: 0.0059 - mse: 0.0059 - val_loss: 0.0070 - val_mse: 0.0070
Epoch 374/500
6/6 [==============================] - 2s 333ms/step - loss: 0.0060 - mse: 0.0060 - val_loss: 0.0070 - val_mse: 0.0070
Epoch 375/500
6/6 [==============================] - 2s 324ms/step - loss: 0.0060 - mse: 0.0060 - val_loss: 0.0072 - val_mse: 0.0072
Epoch 376/500
6/6 [==============================] - 2s 327ms/step - loss: 0.0061 - mse: 0.0061 - val_loss: 0.0071 - val_mse: 0.0071
Epoch 377/500
6/6 [==============================] - 2s 328ms/step - loss: 0.0060 - mse: 0.0060 - val_loss: 0.0071 - val_mse: 0.0071
Epoch 378/500
6/6 [==============================] - 2s 321ms/step - loss: 0.0060 - mse: 0.0060 - val_loss: 0.0072 - val_mse: 0.0072
Epoch 379/500
6/6 [==============================] - 2s 324ms/step - loss: 0.0060 - mse: 0.0060 - val_loss: 0.0070 - val_mse: 0.0070
Epoch 380/500
6/6 [==============================] - 2s 322ms/step - loss: 0.0060 - mse: 0.0060 - val_loss: 0.0069 - val_mse: 0.0069
Epoch 381/500
6/6 [==============================] - 2s 320ms/step - loss: 0.0060 - mse: 0.0060 - val_loss: 0.0071 - val_mse: 0.0071
Epoch 382/500
6/6 [==============================] - 2s 317ms/step - loss: 0.0061 - mse: 0.0061 - val_loss: 0.0073 - val_mse: 0.0073
Epoch 383/500
6/6 [==============================] - 2s 322ms/step - loss: 0.0061 - mse: 0.0061 - val_loss: 0.0073 - val_mse: 0.0073
Epoch 384/500
6/6 [==============================] - 2s 317ms/step - loss: 0.0061 - mse: 0.0061 - val_loss: 0.0071 - val_mse: 0.0071
Epoch 385/500
6/6 [==============================] - 2s 320ms/step - loss: 0.0061 - mse: 0.0061 - val_loss: 0.0074 - val_mse: 0.0074
Epoch 386/500
6/6 [==============================] - 2s 344ms/step - loss: 0.0064 - mse: 0.0064 - val_loss: 0.0073 - val_mse: 0.0073
Epoch 387/500
6/6 [==============================] - 2s 346ms/step - loss: 0.0062 - mse: 0.0062 - val_loss: 0.0073 - val_mse: 0.0073
Epoch 388/500
6/6 [==============================] - 2s 361ms/step - loss: 0.0062 - mse: 0.0062 - val_loss: 0.0071 - val_mse: 0.0071
Epoch 389/500
6/6 [==============================] - 2s 328ms/step - loss: 0.0061 - mse: 0.0061 - val_loss: 0.0070 - val_mse: 0.0070
Epoch 390/500
6/6 [==============================] - 2s 338ms/step - loss: 0.0060 - mse: 0.0060 - val_loss: 0.0070 - val_mse: 0.0070
Epoch 391/500
6/6 [==============================] - 2s 322ms/step - loss: 0.0061 - mse: 0.0061 - val_loss: 0.0072 - val_mse: 0.0072
Epoch 392/500
6/6 [==============================] - 2s 325ms/step - loss: 0.0061 - mse: 0.0061 - val_loss: 0.0072 - val_mse: 0.0072
Epoch 393/500
6/6 [==============================] - 2s 322ms/step - loss: 0.0061 - mse: 0.0061 - val_loss: 0.0071 - val_mse: 0.0071
Epoch 394/500
6/6 [==============================] - 2s 339ms/step - loss: 0.0061 - mse: 0.0061 - val_loss: 0.0071 - val_mse: 0.0071
Epoch 395/500
6/6 [==============================] - 2s 340ms/step - loss: 0.0061 - mse: 0.0061 - val_loss: 0.0072 - val_mse: 0.0072
Epoch 396/500
6/6 [==============================] - 2s 327ms/step - loss: 0.0061 - mse: 0.0061 - val_loss: 0.0070 - val_mse: 0.0070
Epoch 397/500
6/6 [==============================] - 2s 319ms/step - loss: 0.0060 - mse: 0.0060 - val_loss: 0.0071 - val_mse: 0.0071
Epoch 398/500
6/6 [==============================] - 2s 328ms/step - loss: 0.0060 - mse: 0.0060 - val_loss: 0.0070 - val_mse: 0.0070
Epoch 399/500
6/6 [==============================] - 2s 337ms/step - loss: 0.0060 - mse: 0.0060 - val_loss: 0.0070 - val_mse: 0.0070
Epoch 400/500
6/6 [==============================] - 2s 327ms/step - loss: 0.0060 - mse: 0.0060 - val_loss: 0.0070 - val_mse: 0.0070
Epoch 401/500
6/6 [==============================] - 2s 338ms/step - loss: 0.0059 - mse: 0.0059 - val_loss: 0.0070 - val_mse: 0.0070
Epoch 402/500
6/6 [==============================] - 2s 325ms/step - loss: 0.0060 - mse: 0.0060 - val_loss: 0.0071 - val_mse: 0.0071
Epoch 403/500
6/6 [==============================] - 2s 320ms/step - loss: 0.0060 - mse: 0.0060 - val_loss: 0.0070 - val_mse: 0.0070
Epoch 404/500
6/6 [==============================] - 2s 320ms/step - loss: 0.0060 - mse: 0.0060 - val_loss: 0.0070 - val_mse: 0.0070
Epoch 405/500
6/6 [==============================] - 2s 320ms/step - loss: 0.0060 - mse: 0.0060 - val_loss: 0.0070 - val_mse: 0.0070
Epoch 406/500
6/6 [==============================] - 2s 318ms/step - loss: 0.0061 - mse: 0.0061 - val_loss: 0.0072 - val_mse: 0.0072
Epoch 407/500
6/6 [==============================] - 2s 322ms/step - loss: 0.0061 - mse: 0.0061 - val_loss: 0.0071 - val_mse: 0.0071
Epoch 408/500
6/6 [==============================] - 2s 322ms/step - loss: 0.0060 - mse: 0.0060 - val_loss: 0.0070 - val_mse: 0.0070
Epoch 409/500
6/6 [==============================] - 2s 344ms/step - loss: 0.0060 - mse: 0.0060 - val_loss: 0.0070 - val_mse: 0.0070
Epoch 410/500
6/6 [==============================] - 2s 336ms/step - loss: 0.0059 - mse: 0.0059 - val_loss: 0.0069 - val_mse: 0.0069
Epoch 411/500
6/6 [==============================] - 2s 360ms/step - loss: 0.0059 - mse: 0.0059 - val_loss: 0.0070 - val_mse: 0.0070
Epoch 412/500
6/6 [==============================] - 2s 322ms/step - loss: 0.0058 - mse: 0.0058 - val_loss: 0.0069 - val_mse: 0.0069
Epoch 413/500
6/6 [==============================] - 2s 318ms/step - loss: 0.0058 - mse: 0.0058 - val_loss: 0.0070 - val_mse: 0.0070
Epoch 414/500
6/6 [==============================] - 2s 318ms/step - loss: 0.0058 - mse: 0.0058 - val_loss: 0.0070 - val_mse: 0.0070
Epoch 415/500
6/6 [==============================] - 2s 317ms/step - loss: 0.0059 - mse: 0.0059 - val_loss: 0.0071 - val_mse: 0.0071
Epoch 416/500
6/6 [==============================] - 2s 330ms/step - loss: 0.0060 - mse: 0.0060 - val_loss: 0.0072 - val_mse: 0.0072
Epoch 417/500
6/6 [==============================] - 2s 332ms/step - loss: 0.0063 - mse: 0.0063 - val_loss: 0.0071 - val_mse: 0.0071
Epoch 418/500
6/6 [==============================] - 2s 338ms/step - loss: 0.0068 - mse: 0.0068 - val_loss: 0.0076 - val_mse: 0.0076
Epoch 419/500
6/6 [==============================] - 2s 339ms/step - loss: 0.0069 - mse: 0.0069 - val_loss: 0.0073 - val_mse: 0.0073
Epoch 420/500
6/6 [==============================] - 2s 312ms/step - loss: 0.0066 - mse: 0.0066 - val_loss: 0.0072 - val_mse: 0.0072
Epoch 421/500
6/6 [==============================] - 2s 333ms/step - loss: 0.0065 - mse: 0.0065 - val_loss: 0.0071 - val_mse: 0.0071
Epoch 422/500
6/6 [==============================] - 2s 316ms/step - loss: 0.0063 - mse: 0.0063 - val_loss: 0.0071 - val_mse: 0.0071
Epoch 423/500
6/6 [==============================] - 2s 317ms/step - loss: 0.0063 - mse: 0.0063 - val_loss: 0.0070 - val_mse: 0.0070
Epoch 424/500
6/6 [==============================] - 2s 319ms/step - loss: 0.0062 - mse: 0.0062 - val_loss: 0.0071 - val_mse: 0.0071
Epoch 425/500
6/6 [==============================] - 2s 336ms/step - loss: 0.0062 - mse: 0.0062 - val_loss: 0.0070 - val_mse: 0.0070
Epoch 426/500
6/6 [==============================] - 2s 351ms/step - loss: 0.0061 - mse: 0.0061 - val_loss: 0.0070 - val_mse: 0.0070
Epoch 427/500
6/6 [==============================] - 2s 345ms/step - loss: 0.0061 - mse: 0.0061 - val_loss: 0.0070 - val_mse: 0.0070
Epoch 428/500
6/6 [==============================] - 2s 318ms/step - loss: 0.0060 - mse: 0.0060 - val_loss: 0.0070 - val_mse: 0.0070
Epoch 429/500
6/6 [==============================] - 2s 319ms/step - loss: 0.0060 - mse: 0.0060 - val_loss: 0.0070 - val_mse: 0.0070
Epoch 430/500
6/6 [==============================] - 2s 322ms/step - loss: 0.0060 - mse: 0.0060 - val_loss: 0.0069 - val_mse: 0.0069
Epoch 431/500
6/6 [==============================] - 2s 333ms/step - loss: 0.0059 - mse: 0.0059 - val_loss: 0.0069 - val_mse: 0.0069
Epoch 432/500
6/6 [==============================] - 2s 318ms/step - loss: 0.0059 - mse: 0.0059 - val_loss: 0.0072 - val_mse: 0.0072
Epoch 433/500
6/6 [==============================] - 2s 323ms/step - loss: 0.0060 - mse: 0.0060 - val_loss: 0.0069 - val_mse: 0.0069
Epoch 434/500
6/6 [==============================] - 2s 317ms/step - loss: 0.0060 - mse: 0.0060 - val_loss: 0.0073 - val_mse: 0.0073
Epoch 435/500
6/6 [==============================] - 2s 336ms/step - loss: 0.0063 - mse: 0.0063 - val_loss: 0.0072 - val_mse: 0.0072
Epoch 436/500
6/6 [==============================] - 2s 317ms/step - loss: 0.0063 - mse: 0.0063 - val_loss: 0.0070 - val_mse: 0.0070
Epoch 437/500
6/6 [==============================] - 2s 324ms/step - loss: 0.0061 - mse: 0.0061 - val_loss: 0.0071 - val_mse: 0.0071
Epoch 438/500
6/6 [==============================] - 2s 349ms/step - loss: 0.0060 - mse: 0.0060 - val_loss: 0.0070 - val_mse: 0.0070
Epoch 439/500
6/6 [==============================] - 2s 334ms/step - loss: 0.0060 - mse: 0.0060 - val_loss: 0.0070 - val_mse: 0.0070
Epoch 440/500
6/6 [==============================] - 2s 319ms/step - loss: 0.0060 - mse: 0.0060 - val_loss: 0.0071 - val_mse: 0.0071
Epoch 441/500
6/6 [==============================] - 2s 319ms/step - loss: 0.0060 - mse: 0.0060 - val_loss: 0.0070 - val_mse: 0.0070
Epoch 442/500
6/6 [==============================] - 2s 317ms/step - loss: 0.0060 - mse: 0.0060 - val_loss: 0.0072 - val_mse: 0.0072
Epoch 443/500
6/6 [==============================] - 2s 325ms/step - loss: 0.0061 - mse: 0.0061 - val_loss: 0.0070 - val_mse: 0.0070
Epoch 444/500
6/6 [==============================] - 2s 335ms/step - loss: 0.0060 - mse: 0.0060 - val_loss: 0.0071 - val_mse: 0.0071
Epoch 445/500
6/6 [==============================] - 2s 319ms/step - loss: 0.0060 - mse: 0.0060 - val_loss: 0.0071 - val_mse: 0.0071
Epoch 446/500
6/6 [==============================] - 2s 341ms/step - loss: 0.0061 - mse: 0.0061 - val_loss: 0.0070 - val_mse: 0.0070
Epoch 447/500
6/6 [==============================] - 2s 343ms/step - loss: 0.0062 - mse: 0.0062 - val_loss: 0.0070 - val_mse: 0.0070
Epoch 448/500
6/6 [==============================] - 2s 338ms/step - loss: 0.0060 - mse: 0.0060 - val_loss: 0.0071 - val_mse: 0.0071
Epoch 449/500
6/6 [==============================] - 2s 324ms/step - loss: 0.0060 - mse: 0.0060 - val_loss: 0.0069 - val_mse: 0.0069
Epoch 450/500
6/6 [==============================] - 2s 320ms/step - loss: 0.0060 - mse: 0.0060 - val_loss: 0.0070 - val_mse: 0.0070
Epoch 451/500
6/6 [==============================] - 2s 313ms/step - loss: 0.0060 - mse: 0.0060 - val_loss: 0.0069 - val_mse: 0.0069
Epoch 452/500
6/6 [==============================] - 2s 315ms/step - loss: 0.0060 - mse: 0.0060 - val_loss: 0.0070 - val_mse: 0.0070
Epoch 453/500
6/6 [==============================] - 2s 315ms/step - loss: 0.0062 - mse: 0.0062 - val_loss: 0.0077 - val_mse: 0.0077
Epoch 454/500
6/6 [==============================] - 2s 319ms/step - loss: 0.0066 - mse: 0.0066 - val_loss: 0.0072 - val_mse: 0.0072
Epoch 455/500
6/6 [==============================] - 2s 333ms/step - loss: 0.0064 - mse: 0.0064 - val_loss: 0.0075 - val_mse: 0.0075
Epoch 456/500
6/6 [==============================] - 2s 311ms/step - loss: 0.0063 - mse: 0.0063 - val_loss: 0.0071 - val_mse: 0.0071
Epoch 457/500
6/6 [==============================] - 2s 317ms/step - loss: 0.0062 - mse: 0.0062 - val_loss: 0.0074 - val_mse: 0.0074
Epoch 458/500
6/6 [==============================] - 2s 317ms/step - loss: 0.0061 - mse: 0.0061 - val_loss: 0.0070 - val_mse: 0.0070
Epoch 459/500
6/6 [==============================] - 2s 309ms/step - loss: 0.0060 - mse: 0.0060 - val_loss: 0.0069 - val_mse: 0.0069
Epoch 460/500
6/6 [==============================] - 2s 313ms/step - loss: 0.0059 - mse: 0.0059 - val_loss: 0.0070 - val_mse: 0.0070
Epoch 461/500
6/6 [==============================] - 2s 310ms/step - loss: 0.0058 - mse: 0.0058 - val_loss: 0.0069 - val_mse: 0.0069
Epoch 462/500
6/6 [==============================] - 2s 314ms/step - loss: 0.0059 - mse: 0.0059 - val_loss: 0.0070 - val_mse: 0.0070
Epoch 463/500
6/6 [==============================] - 2s 331ms/step - loss: 0.0064 - mse: 0.0064 - val_loss: 0.0076 - val_mse: 0.0076
Epoch 464/500
6/6 [==============================] - 2s 337ms/step - loss: 0.0066 - mse: 0.0066 - val_loss: 0.0071 - val_mse: 0.0071
Epoch 465/500
6/6 [==============================] - 2s 322ms/step - loss: 0.0063 - mse: 0.0063 - val_loss: 0.0070 - val_mse: 0.0070
Epoch 466/500
6/6 [==============================] - 2s 325ms/step - loss: 0.0061 - mse: 0.0061 - val_loss: 0.0070 - val_mse: 0.0070
Epoch 467/500
6/6 [==============================] - 2s 358ms/step - loss: 0.0060 - mse: 0.0060 - val_loss: 0.0069 - val_mse: 0.0069
Epoch 468/500
6/6 [==============================] - 2s 323ms/step - loss: 0.0060 - mse: 0.0060 - val_loss: 0.0069 - val_mse: 0.0069
Epoch 469/500
6/6 [==============================] - 2s 318ms/step - loss: 0.0059 - mse: 0.0059 - val_loss: 0.0070 - val_mse: 0.0070
Epoch 470/500
6/6 [==============================] - 2s 322ms/step - loss: 0.0059 - mse: 0.0059 - val_loss: 0.0070 - val_mse: 0.0070
Epoch 471/500
6/6 [==============================] - 2s 332ms/step - loss: 0.0059 - mse: 0.0059 - val_loss: 0.0070 - val_mse: 0.0070
Epoch 472/500
6/6 [==============================] - 2s 312ms/step - loss: 0.0059 - mse: 0.0059 - val_loss: 0.0070 - val_mse: 0.0070
Epoch 473/500
6/6 [==============================] - 2s 316ms/step - loss: 0.0058 - mse: 0.0058 - val_loss: 0.0069 - val_mse: 0.0069
Epoch 474/500
6/6 [==============================] - 2s 314ms/step - loss: 0.0059 - mse: 0.0059 - val_loss: 0.0070 - val_mse: 0.0070
Epoch 475/500
6/6 [==============================] - 2s 313ms/step - loss: 0.0059 - mse: 0.0059 - val_loss: 0.0069 - val_mse: 0.0069
Epoch 476/500
6/6 [==============================] - 2s 330ms/step - loss: 0.0061 - mse: 0.0061 - val_loss: 0.0070 - val_mse: 0.0070
Epoch 477/500
6/6 [==============================] - 2s 333ms/step - loss: 0.0063 - mse: 0.0063 - val_loss: 0.0073 - val_mse: 0.0073
Epoch 478/500
6/6 [==============================] - 2s 318ms/step - loss: 0.0062 - mse: 0.0062 - val_loss: 0.0070 - val_mse: 0.0070
Epoch 479/500
6/6 [==============================] - 2s 339ms/step - loss: 0.0061 - mse: 0.0061 - val_loss: 0.0077 - val_mse: 0.0077
Epoch 480/500
6/6 [==============================] - 2s 369ms/step - loss: 0.0067 - mse: 0.0067 - val_loss: 0.0073 - val_mse: 0.0073
Epoch 481/500
6/6 [==============================] - 2s 369ms/step - loss: 0.0064 - mse: 0.0064 - val_loss: 0.0071 - val_mse: 0.0071
Epoch 482/500
6/6 [==============================] - 2s 338ms/step - loss: 0.0062 - mse: 0.0062 - val_loss: 0.0071 - val_mse: 0.0071
Epoch 483/500
6/6 [==============================] - 2s 318ms/step - loss: 0.0061 - mse: 0.0061 - val_loss: 0.0071 - val_mse: 0.0071
Epoch 484/500
6/6 [==============================] - 2s 345ms/step - loss: 0.0060 - mse: 0.0060 - val_loss: 0.0070 - val_mse: 0.0070
Epoch 485/500
6/6 [==============================] - 2s 315ms/step - loss: 0.0059 - mse: 0.0059 - val_loss: 0.0070 - val_mse: 0.0070
Epoch 486/500
6/6 [==============================] - 2s 324ms/step - loss: 0.0059 - mse: 0.0059 - val_loss: 0.0070 - val_mse: 0.0070
Epoch 487/500
6/6 [==============================] - 2s 344ms/step - loss: 0.0058 - mse: 0.0058 - val_loss: 0.0070 - val_mse: 0.0070
Epoch 488/500
6/6 [==============================] - 2s 319ms/step - loss: 0.0058 - mse: 0.0058 - val_loss: 0.0070 - val_mse: 0.0070
Epoch 489/500
6/6 [==============================] - 2s 321ms/step - loss: 0.0058 - mse: 0.0058 - val_loss: 0.0069 - val_mse: 0.0069
Epoch 490/500
6/6 [==============================] - 2s 349ms/step - loss: 0.0059 - mse: 0.0059 - val_loss: 0.0070 - val_mse: 0.0070
Epoch 491/500
6/6 [==============================] - 2s 328ms/step - loss: 0.0058 - mse: 0.0058 - val_loss: 0.0070 - val_mse: 0.0070
Epoch 492/500
6/6 [==============================] - 2s 335ms/step - loss: 0.0058 - mse: 0.0058 - val_loss: 0.0070 - val_mse: 0.0070
Epoch 493/500
6/6 [==============================] - 2s 317ms/step - loss: 0.0058 - mse: 0.0058 - val_loss: 0.0071 - val_mse: 0.0071
Epoch 494/500
6/6 [==============================] - 2s 319ms/step - loss: 0.0058 - mse: 0.0058 - val_loss: 0.0071 - val_mse: 0.0071
Epoch 495/500
6/6 [==============================] - 2s 318ms/step - loss: 0.0059 - mse: 0.0059 - val_loss: 0.0070 - val_mse: 0.0070
Epoch 496/500
6/6 [==============================] - 2s 319ms/step - loss: 0.0059 - mse: 0.0059 - val_loss: 0.0070 - val_mse: 0.0070
Epoch 497/500
6/6 [==============================] - 2s 317ms/step - loss: 0.0059 - mse: 0.0059 - val_loss: 0.0070 - val_mse: 0.0070
Epoch 498/500
6/6 [==============================] - 2s 315ms/step - loss: 0.0060 - mse: 0.0060 - val_loss: 0.0081 - val_mse: 0.0081
Epoch 499/500
6/6 [==============================] - 2s 316ms/step - loss: 0.0066 - mse: 0.0066 - val_loss: 0.0076 - val_mse: 0.0076
Epoch 500/500
6/6 [==============================] - 2s 319ms/step - loss: 0.0066 - mse: 0.0066 - val_loss: 0.0076 - val_mse: 0.0076
In [ ]:
# Plot the training and validation loss at each epoch
loss = history.history['loss']
val_loss = history.history['val_loss']
epochs = range(1, len(loss) + 1)
plt.plot(epochs, loss, 'y', label='Training loss')
plt.plot(epochs, val_loss, 'r', label='Validation loss')
plt.title('Training and validation loss')
plt.xlabel('Epochs')
plt.ylabel('Loss')
plt.legend()
plt.show()
In [ ]:
# Get all batches generated by the datagen and pick a batch for prediction
data_batch = [] # Capture all training batches as a numpy array
img_num = 0
while img_num <= train_generator.batch_index: # gets each generated batch of size batch_size
data = train_generator.next()
data_batch.append(data[0])
img_num += 1
predicted = model.predict(data_batch[0]) # Predict on the first batch of images
# Sanity check, view few images and corresponding reconstructions
image_number = random.randint(0, predicted.shape[0])
plt.figure(figsize=(12, 6))
plt.subplot(121)
plt.imshow(data_batch[0][image_number])
plt.subplot(122)
plt.imshow(predicted[image_number])
plt.show()
2/2 [==============================] - 0s 194ms/step
In [ ]:
# Let us examine the reconstruction error between our validation data (good/normal images) and the anomaly images
validation_error = model.evaluate(validation_generator)
anomaly_error = model.evaluate(anomaly_generator)
print("Reconstruction error for the validation (normal) data is: ", validation_error)
print("Reconstruction error for the anomaly data is: ", anomaly_error)
4/4 [==============================] - 1s 74ms/step - loss: 0.0076 - mse: 0.0076 6/6 [==============================] - 1s 259ms/step - loss: 0.0162 - mse: 0.0162 Reconstruction error for the validation (normal) data is: [0.007616638671606779, 0.007616638205945492] Reconstruction error for the anomaly data is: [0.016152305528521538, 0.01615230366587639]
In [ ]:
# Extract the encoder network with trained weights for KDE
encoder_model = Sequential()
encoder_model.add(Conv2D(64, (3, 3), activation='relu', padding='same', input_shape=(SIZE, SIZE, 3), weights=model.layers[0].get_weights()))
encoder_model.add(MaxPooling2D((2, 2), padding='same'))
encoder_model.add(Conv2D(32, (3, 3), activation='relu', padding='same', weights=model.layers[2].get_weights()))
encoder_model.add(MaxPooling2D((2, 2), padding='same'))
encoder_model.add(Conv2D(16, (3, 3), activation='relu', padding='same', weights=model.layers[4].get_weights()))
encoder_model.add(MaxPooling2D((2, 2), padding='same'))
encoder_model.add(Conv2D(8, (3, 3), activation='relu', padding='same', weights=model.layers[6].get_weights()))
encoder_model.add(MaxPooling2D((2, 2), padding='same'))
encoder_model.add(Conv2D(8, (3, 3), activation='tanh', padding='same', weights=model.layers[8].get_weights()))
encoder_model.add(MaxPooling2D((2, 2), padding='same'))
encoder_model.summary()
# Calculate KDE using sklearn
encoded_images = encoder_model.predict(train_generator)
# Flatten the encoder output because KDE from sklearn takes 1D vectors as input
encoder_output_shape = encoder_model.output_shape
out_vector_shape = encoder_output_shape[1]*encoder_output_shape[2]*encoder_output_shape[3]
encoded_images_vector = [np.reshape(img, (out_vector_shape)) for img in encoded_images]
# Fit KDE to the image latent data
kde = KernelDensity(kernel='gaussian', bandwidth=0.2).fit(encoded_images_vector)
Model: "sequential_1"
_________________________________________________________________
Layer (type) Output Shape Param #
=================================================================
conv2d_11 (Conv2D) (None, 224, 224, 64) 1792
max_pooling2d_5 (MaxPooling (None, 112, 112, 64) 0
2D)
conv2d_12 (Conv2D) (None, 112, 112, 32) 18464
_________________________________________________________________
Layer (type) Output Shape Param #
=================================================================
conv2d_11 (Conv2D) (None, 224, 224, 64) 1792
max_pooling2d_5 (MaxPooling (None, 112, 112, 64) 0
2D)
conv2d_12 (Conv2D) (None, 112, 112, 32) 18464
max_pooling2d_6 (MaxPooling (None, 56, 56, 32) 0
2D)
conv2d_13 (Conv2D) (None, 56, 56, 16) 4624
max_pooling2d_7 (MaxPooling (None, 28, 28, 16) 0
2D)
conv2d_14 (Conv2D) (None, 28, 28, 8) 1160
max_pooling2d_8 (MaxPooling (None, 14, 14, 8) 0
2D)
conv2d_15 (Conv2D) (None, 14, 14, 8) 584
max_pooling2d_9 (MaxPooling (None, 7, 7, 8) 0
2D)
=================================================================
Total params: 26,624
Trainable params: 26,624
Non-trainable params: 0
_________________________________________________________________
6/6 [==============================] - 1s 51ms/step
In [ ]:
# Calculate density and reconstruction error to find their means values for good and anomaly images
def calc_density_and_recon_error(batch_images):
density_list = []
recon_error_list = []
for im in range(0, batch_images.shape[0] - 1):
img = batch_images[im]
img = img[np.newaxis, :, :, :]
encoded_img = encoder_model.predict(img)
encoded_img = [np.reshape(img, (out_vector_shape)) for img in encoded_img]
density = kde.score_samples(encoded_img)[0]
reconstruction = model.predict(img)
reconstruction_error = model.evaluate(reconstruction, img, batch_size=1)[0]
density_list.append(density)
recon_error_list.append(reconstruction_error)
average_density = np.mean(np.array(density_list))
stdev_density = np.std(np.array(density_list))
average_recon_error = np.mean(np.array(recon_error_list))
stdev_recon_error = np.std(np.array(recon_error_list))
return average_density, stdev_density, average_recon_error, stdev_recon_error
train_batch = train_generator.next()[0]
anomaly_batch = anomaly_generator.next()[0]
uninfected_values = calc_density_and_recon_error(train_batch)
infected_values = calc_density_and_recon_error(anomaly_batch)
print("Average density (non-anomalous images): ", uninfected_values[0])
print("Standard deviation density (non-anomalous images): ", uninfected_values[1])
print("Average reconstruction error (non-anomalous images): ", uninfected_values[2])
print("Standard deviation reconstruction error (non-anomalous images): ", uninfected_values[3])
print("Average density (anomalous images): ", infected_values[0])
print("Standard deviation density (anomalous images): ", infected_values[1])
print("Average reconstruction error (anomalous images): ", infected_values[2])
print("Standard deviation reconstruction error (anomalous images): ", infected_values[3])
1/1 [==============================] - 0s 440ms/step 1/1 [==============================] - 0s 440ms/step 1/1 [==============================] - 0s 154ms/step 1/1 [==============================] - 0s 18ms/step - loss: 5.2554e-04 - mse: 5.2554e-04 1/1 [==============================] - 0s 27ms/step 1/1 [==============================] - 0s 17ms/step 1/1 [==============================] - 0s 18ms/step - loss: 0.0117 - mse: 0.0117 1/1 [==============================] - 0s 14ms/step 1/1 [==============================] - 0s 11ms/step 1/1 [==============================] - 0s 15ms/step - loss: 0.0130 - mse: 0.0130 1/1 [==============================] - 0s 11ms/step 1/1 [==============================] - 0s 16ms/step 1/1 [==============================] - 0s 29ms/step - loss: 0.0131 - mse: 0.0131 1/1 [==============================] - 0s 24ms/step 1/1 [==============================] - 0s 14ms/step 1/1 [==============================] - 0s 20ms/step - loss: 0.0135 - mse: 0.0135 1/1 [==============================] - 0s 29ms/step 1/1 [==============================] - 0s 11ms/step 1/1 [==============================] - 0s 16ms/step - loss: 0.0136 - mse: 0.0136 1/1 [==============================] - 0s 11ms/step 1/1 [==============================] - 0s 25ms/step 1/1 [==============================] - 0s 21ms/step - loss: 0.0140 - mse: 0.0140 1/1 [==============================] - 0s 12ms/step 1/1 [==============================] - 0s 18ms/step 1/1 [==============================] - 0s 20ms/step - loss: 0.0145 - mse: 0.0145 1/1 [==============================] - 0s 13ms/step 1/1 [==============================] - 0s 18ms/step 1/1 [==============================] - 0s 14ms/step - loss: 0.0145 - mse: 0.0145 1/1 [==============================] - 0s 12ms/step 1/1 [==============================] - 0s 22ms/step 1/1 [==============================] - 0s 13ms/step - loss: 0.0146 - mse: 0.0146 1/1 [==============================] - 0s 18ms/step 1/1 [==============================] - 0s 14ms/step 1/1 [==============================] - 0s 14ms/step - loss: 0.0148 - mse: 0.0148 1/1 [==============================] - 0s 10ms/step 1/1 [==============================] - 0s 17ms/step 1/1 [==============================] - 0s 13ms/step - loss: 0.0155 - mse: 0.0155 1/1 [==============================] - 0s 18ms/step 1/1 [==============================] - 0s 14ms/step 1/1 [==============================] - 0s 18ms/step - loss: 0.0120 - mse: 0.0120 1/1 [==============================] - 0s 14ms/step 1/1 [==============================] - 0s 12ms/step 1/1 [==============================] - 0s 18ms/step - loss: 0.0152 - mse: 0.0152 1/1 [==============================] - 0s 23ms/step 1/1 [==============================] - 0s 15ms/step 1/1 [==============================] - 0s 25ms/step - loss: 0.0151 - mse: 0.0151 1/1 [==============================] - 0s 13ms/step 1/1 [==============================] - 0s 14ms/step 1/1 [==============================] - 0s 18ms/step - loss: 0.0151 - mse: 0.0151 1/1 [==============================] - 0s 13ms/step 1/1 [==============================] - 0s 8ms/step 1/1 [==============================] - 0s 14ms/step - loss: 0.0148 - mse: 0.0148 1/1 [==============================] - 0s 17ms/step 1/1 [==============================] - 0s 17ms/step 1/1 [==============================] - 0s 21ms/step - loss: 0.0147 - mse: 0.0147 1/1 [==============================] - 0s 24ms/step 1/1 [==============================] - 0s 14ms/step 1/1 [==============================] - 0s 16ms/step - loss: 0.0150 - mse: 0.0150 1/1 [==============================] - 0s 14ms/step 1/1 [==============================] - 0s 11ms/step 1/1 [==============================] - 0s 23ms/step - loss: 5.5264e-04 - mse: 5.5264e-04 1/1 [==============================] - 0s 14ms/step 1/1 [==============================] - 0s 14ms/step 1/1 [==============================] - 0s 20ms/step - loss: 4.5388e-04 - mse: 4.5388e-04 1/1 [==============================] - 0s 14ms/step 1/1 [==============================] - 0s 19ms/step 1/1 [==============================] - 0s 20ms/step - loss: 4.5578e-04 - mse: 4.5578e-04 1/1 [==============================] - 0s 12ms/step 1/1 [==============================] - 0s 16ms/step 1/1 [==============================] - 0s 21ms/step - loss: 3.9368e-04 - mse: 3.9368e-04 1/1 [==============================] - 0s 14ms/step 1/1 [==============================] - 0s 23ms/step 1/1 [==============================] - 0s 24ms/step - loss: 0.0121 - mse: 0.0121 1/1 [==============================] - 0s 14ms/step 1/1 [==============================] - 0s 18ms/step 1/1 [==============================] - 0s 18ms/step - loss: 3.7241e-04 - mse: 3.7241e-04 1/1 [==============================] - 0s 15ms/step 1/1 [==============================] - 0s 14ms/step 1/1 [==============================] - 0s 19ms/step - loss: 3.7079e-04 - mse: 3.7079e-04 1/1 [==============================] - 0s 14ms/step 1/1 [==============================] - 0s 15ms/step 1/1 [==============================] - 0s 13ms/step - loss: 3.7443e-04 - mse: 3.7443e-04 1/1 [==============================] - 0s 9ms/step 1/1 [==============================] - 0s 16ms/step 1/1 [==============================] - 0s 11ms/step - loss: 4.0844e-04 - mse: 4.0844e-04 1/1 [==============================] - 0s 24ms/step 1/1 [==============================] - 0s 16ms/step 1/1 [==============================] - 0s 19ms/step - loss: 4.7740e-04 - mse: 4.7740e-04 1/1 [==============================] - 0s 17ms/step 1/1 [==============================] - 0s 5ms/step 1/1 [==============================] - 0s 16ms/step - loss: 6.8069e-04 - mse: 6.8069e-04 1/1 [==============================] - 0s 13ms/step 1/1 [==============================] - 0s 16ms/step 1/1 [==============================] - 0s 18ms/step - loss: 9.1161e-04 - mse: 9.1161e-04 1/1 [==============================] - 0s 13ms/step 1/1 [==============================] - 0s 17ms/step 1/1 [==============================] - 0s 17ms/step - loss: 9.0464e-04 - mse: 9.0464e-04 1/1 [==============================] - 0s 12ms/step 1/1 [==============================] - 0s 14ms/step 1/1 [==============================] - 0s 19ms/step - loss: 0.0012 - mse: 0.0012 1/1 [==============================] - 0s 18ms/step 1/1 [==============================] - 0s 17ms/step 1/1 [==============================] - 0s 30ms/step - loss: 0.0014 - mse: 0.0014 1/1 [==============================] - 0s 10ms/step 1/1 [==============================] - 0s 17ms/step 1/1 [==============================] - 0s 29ms/step - loss: 0.0123 - mse: 0.0123 1/1 [==============================] - 0s 11ms/step 1/1 [==============================] - 0s 16ms/step 1/1 [==============================] - 0s 27ms/step - loss: 0.0016 - mse: 0.0016 1/1 [==============================] - 0s 15ms/step 1/1 [==============================] - 0s 15ms/step 1/1 [==============================] - 0s 20ms/step - loss: 0.0020 - mse: 0.0020 1/1 [==============================] - 0s 14ms/step 1/1 [==============================] - 0s 16ms/step 1/1 [==============================] - 0s 26ms/step - loss: 0.0024 - mse: 0.0024 1/1 [==============================] - 0s 13ms/step 1/1 [==============================] - 0s 8ms/step 1/1 [==============================] - 0s 29ms/step - loss: 0.0027 - mse: 0.0027 1/1 [==============================] - 0s 13ms/step 1/1 [==============================] - 0s 14ms/step 1/1 [==============================] - 0s 23ms/step - loss: 0.0029 - mse: 0.0029 1/1 [==============================] - 0s 14ms/step 1/1 [==============================] - 0s 13ms/step 1/1 [==============================] - 0s 27ms/step - loss: 0.0031 - mse: 0.0031 1/1 [==============================] - 0s 16ms/step 1/1 [==============================] - 0s 8ms/step 1/1 [==============================] - 0s 15ms/step - loss: 0.0032 - mse: 0.0032 1/1 [==============================] - 0s 7ms/step 1/1 [==============================] - 0s 16ms/step 1/1 [==============================] - 0s 26ms/step - loss: 0.0038 - mse: 0.0038 1/1 [==============================] - 0s 17ms/step 1/1 [==============================] - 0s 7ms/step 1/1 [==============================] - 0s 28ms/step - loss: 0.0043 - mse: 0.0043 1/1 [==============================] - 0s 15ms/step 1/1 [==============================] - 0s 11ms/step 1/1 [==============================] - 0s 24ms/step - loss: 0.0048 - mse: 0.0048 1/1 [==============================] - 0s 17ms/step 1/1 [==============================] - 0s 18ms/step 1/1 [==============================] - 0s 20ms/step - loss: 0.0124 - mse: 0.0124 1/1 [==============================] - 0s 14ms/step 1/1 [==============================] - 0s 17ms/step 1/1 [==============================] - 0s 26ms/step - loss: 0.0050 - mse: 0.0050 1/1 [==============================] - 0s 17ms/step 1/1 [==============================] - 0s 16ms/step 1/1 [==============================] - 0s 32ms/step - loss: 0.0050 - mse: 0.0050 1/1 [==============================] - 0s 14ms/step 1/1 [==============================] - 0s 12ms/step 1/1 [==============================] - 0s 31ms/step - loss: 0.0050 - mse: 0.0050 1/1 [==============================] - 0s 19ms/step 1/1 [==============================] - 0s 10ms/step 1/1 [==============================] - 0s 36ms/step - loss: 0.0051 - mse: 0.0051 1/1 [==============================] - 0s 12ms/step 1/1 [==============================] - 0s 18ms/step 1/1 [==============================] - 0s 20ms/step - loss: 0.0054 - mse: 0.0054 1/1 [==============================] - 0s 30ms/step 1/1 [==============================] - 0s 31ms/step 1/1 [==============================] - 0s 19ms/step - loss: 0.0059 - mse: 0.0059 1/1 [==============================] - 0s 28ms/step 1/1 [==============================] - 0s 17ms/step 1/1 [==============================] - 0s 30ms/step - loss: 0.0063 - mse: 0.0063 1/1 [==============================] - 0s 10ms/step 1/1 [==============================] - 0s 16ms/step 1/1 [==============================] - 0s 31ms/step - loss: 0.0063 - mse: 0.0063 1/1 [==============================] - 0s 10ms/step 1/1 [==============================] - 0s 15ms/step 1/1 [==============================] - 0s 27ms/step - loss: 0.0070 - mse: 0.0070 1/1 [==============================] - 0s 16ms/step 1/1 [==============================] - 0s 21ms/step 1/1 [==============================] - 0s 27ms/step - loss: 0.0071 - mse: 0.0071 1/1 [==============================] - 0s 9ms/step 1/1 [==============================] - 0s 15ms/step 1/1 [==============================] - 0s 29ms/step - loss: 0.0124 - mse: 0.0124 1/1 [==============================] - 0s 16ms/step 1/1 [==============================] - 0s 16ms/step 1/1 [==============================] - 0s 23ms/step - loss: 0.0076 - mse: 0.0076 1/1 [==============================] - 0s 27ms/step 1/1 [==============================] - 0s 29ms/step 1/1 [==============================] - 0s 30ms/step - loss: 0.0080 - mse: 0.0080 1/1 [==============================] - 0s 17ms/step 1/1 [==============================] - 0s 16ms/step 1/1 [==============================] - 0s 31ms/step - loss: 0.0082 - mse: 0.0082 1/1 [==============================] - 0s 18ms/step 1/1 [==============================] - 0s 14ms/step 1/1 [==============================] - 0s 20ms/step - loss: 0.0082 - mse: 0.0082 1/1 [==============================] - 0s 17ms/step 1/1 [==============================] - 0s 7ms/step 1/1 [==============================] - 0s 32ms/step - loss: 0.0085 - mse: 0.0085 1/1 [==============================] - 0s 14ms/step 1/1 [==============================] - 0s 12ms/step 1/1 [==============================] - 0s 19ms/step - loss: 0.0088 - mse: 0.0088 1/1 [==============================] - 0s 30ms/step 1/1 [==============================] - 0s 17ms/step 1/1 [==============================] - 0s 27ms/step - loss: 0.0154 - mse: 0.0154 1/1 [==============================] - 0s 13ms/step 1/1 [==============================] - 0s 5ms/step 1/1 [==============================] - 0s 25ms/step - loss: 0.0113 - mse: 0.0113 1/1 [==============================] - 0s 14ms/step 1/1 [==============================] - 0s 16ms/step 1/1 [==============================] - 0s 18ms/step - loss: 0.0162 - mse: 0.0162 1/1 [==============================] - 0s 14ms/step 1/1 [==============================] - 0s 12ms/step 1/1 [==============================] - 0s 16ms/step - loss: 0.0160 - mse: 0.0160 1/1 [==============================] - 0s 28ms/step 1/1 [==============================] - 0s 17ms/step 1/1 [==============================] - 0s 19ms/step - loss: 0.0155 - mse: 0.0155 1/1 [==============================] - 0s 28ms/step 1/1 [==============================] - 0s 7ms/step 1/1 [==============================] - 0s 19ms/step - loss: 0.0153 - mse: 0.0153 1/1 [==============================] - 0s 14ms/step 1/1 [==============================] - 0s 31ms/step 1/1 [==============================] - 0s 19ms/step - loss: 0.0154 - mse: 0.0154 1/1 [==============================] - 0s 13ms/step 1/1 [==============================] - 0s 10ms/step 1/1 [==============================] - 0s 18ms/step - loss: 0.0153 - mse: 0.0153 1/1 [==============================] - 0s 15ms/step 1/1 [==============================] - 0s 27ms/step 1/1 [==============================] - 0s 25ms/step - loss: 0.0146 - mse: 0.0146 1/1 [==============================] - 0s 16ms/step 1/1 [==============================] - 0s 14ms/step 1/1 [==============================] - 0s 18ms/step - loss: 0.0142 - mse: 0.0142 1/1 [==============================] - 0s 26ms/step 1/1 [==============================] - 0s 9ms/step 1/1 [==============================] - 0s 17ms/step - loss: 0.0142 - mse: 0.0142 1/1 [==============================] - 0s 14ms/step 1/1 [==============================] - 0s 31ms/step 1/1 [==============================] - 0s 22ms/step - loss: 0.0141 - mse: 0.0141 1/1 [==============================] - 0s 24ms/step 1/1 [==============================] - 0s 12ms/step 1/1 [==============================] - 0s 16ms/step - loss: 0.0139 - mse: 0.0139 1/1 [==============================] - 0s 15ms/step 1/1 [==============================] - 0s 16ms/step 1/1 [==============================] - 0s 23ms/step - loss: 0.0135 - mse: 0.0135 1/1 [==============================] - 0s 27ms/step 1/1 [==============================] - 0s 11ms/step 1/1 [==============================] - 0s 26ms/step - loss: 0.0133 - mse: 0.0133 1/1 [==============================] - 0s 30ms/step 1/1 [==============================] - 0s 13ms/step 1/1 [==============================] - 0s 25ms/step - loss: 0.0158 - mse: 0.0158 1/1 [==============================] - 0s 15ms/step 1/1 [==============================] - 0s 8ms/step 1/1 [==============================] - 0s 31ms/step - loss: 0.0157 - mse: 0.0157 1/1 [==============================] - 0s 15ms/step 1/1 [==============================] - 0s 8ms/step 1/1 [==============================] - 0s 32ms/step - loss: 0.0156 - mse: 0.0156 1/1 [==============================] - 0s 15ms/step 1/1 [==============================] - 0s 15ms/step 1/1 [==============================] - 0s 29ms/step - loss: 0.0151 - mse: 0.0151 1/1 [==============================] - 0s 16ms/step 1/1 [==============================] - 0s 13ms/step 1/1 [==============================] - 0s 16ms/step - loss: 0.0152 - mse: 0.0152 1/1 [==============================] - 0s 16ms/step 1/1 [==============================] - 0s 13ms/step 1/1 [==============================] - 0s 29ms/step - loss: 0.0156 - mse: 0.0156 1/1 [==============================] - 0s 14ms/step 1/1 [==============================] - 0s 16ms/step 1/1 [==============================] - 0s 32ms/step - loss: 0.0155 - mse: 0.0155 1/1 [==============================] - 0s 14ms/step 1/1 [==============================] - 0s 15ms/step 1/1 [==============================] - 0s 29ms/step - loss: 0.0156 - mse: 0.0156 1/1 [==============================] - 0s 14ms/step 1/1 [==============================] - 0s 13ms/step 1/1 [==============================] - 0s 30ms/step - loss: 0.0159 - mse: 0.0159 1/1 [==============================] - 0s 16ms/step 1/1 [==============================] - 0s 16ms/step 1/1 [==============================] - 0s 20ms/step - loss: 0.0160 - mse: 0.0160 1/1 [==============================] - 0s 21ms/step 1/1 [==============================] - 0s 8ms/step 1/1 [==============================] - 0s 33ms/step - loss: 0.0156 - mse: 0.0156 1/1 [==============================] - 0s 19ms/step 1/1 [==============================] - 0s 4ms/step 1/1 [==============================] - 0s 28ms/step - loss: 0.0154 - mse: 0.0154 1/1 [==============================] - 0s 27ms/step 1/1 [==============================] - 0s 14ms/step 1/1 [==============================] - 0s 27ms/step - loss: 0.0156 - mse: 0.0156 1/1 [==============================] - 0s 11ms/step 1/1 [==============================] - 0s 9ms/step 1/1 [==============================] - 0s 18ms/step - loss: 0.0153 - mse: 0.0153 1/1 [==============================] - 0s 16ms/step 1/1 [==============================] - 0s 30ms/step 1/1 [==============================] - 0s 28ms/step - loss: 0.0152 - mse: 0.0152 1/1 [==============================] - 0s 13ms/step 1/1 [==============================] - 0s 16ms/step 1/1 [==============================] - 0s 29ms/step - loss: 0.0157 - mse: 0.0157 1/1 [==============================] - 0s 14ms/step 1/1 [==============================] - 0s 16ms/step 1/1 [==============================] - 0s 30ms/step - loss: 0.0159 - mse: 0.0159 1/1 [==============================] - 0s 15ms/step 1/1 [==============================] - 0s 16ms/step 1/1 [==============================] - 0s 23ms/step - loss: 0.0157 - mse: 0.0157 1/1 [==============================] - 0s 25ms/step 1/1 [==============================] - 0s 9ms/step 1/1 [==============================] - 0s 30ms/step - loss: 0.0157 - mse: 0.0157 1/1 [==============================] - 0s 13ms/step 1/1 [==============================] - 0s 11ms/step 1/1 [==============================] - 0s 16ms/step - loss: 0.0162 - mse: 0.0162 1/1 [==============================] - 0s 16ms/step 1/1 [==============================] - 0s 13ms/step 1/1 [==============================] - 0s 16ms/step - loss: 0.0161 - mse: 0.0161 1/1 [==============================] - 0s 16ms/step 1/1 [==============================] - 0s 16ms/step 1/1 [==============================] - 0s 15ms/step - loss: 0.0165 - mse: 0.0165 1/1 [==============================] - 0s 15ms/step 1/1 [==============================] - 0s 30ms/step 1/1 [==============================] - 0s 22ms/step - loss: 0.0168 - mse: 0.0168 1/1 [==============================] - 0s 28ms/step 1/1 [==============================] - 0s 17ms/step 1/1 [==============================] - 0s 21ms/step - loss: 0.0170 - mse: 0.0170 1/1 [==============================] - 0s 13ms/step 1/1 [==============================] - 0s 13ms/step 1/1 [==============================] - 0s 28ms/step - loss: 0.0170 - mse: 0.0170 1/1 [==============================] - 0s 17ms/step 1/1 [==============================] - 0s 17ms/step 1/1 [==============================] - 0s 19ms/step - loss: 0.0168 - mse: 0.0168 1/1 [==============================] - 0s 29ms/step 1/1 [==============================] - 0s 30ms/step 1/1 [==============================] - 0s 20ms/step - loss: 0.0168 - mse: 0.0168 1/1 [==============================] - 0s 28ms/step 1/1 [==============================] - 0s 28ms/step 1/1 [==============================] - 0s 26ms/step - loss: 0.0168 - mse: 0.0168 1/1 [==============================] - 0s 13ms/step 1/1 [==============================] - 0s 16ms/step 1/1 [==============================] - 0s 20ms/step - loss: 0.0171 - mse: 0.0171 1/1 [==============================] - 0s 26ms/step 1/1 [==============================] - 0s 9ms/step 1/1 [==============================] - 0s 24ms/step - loss: 0.0172 - mse: 0.0172 1/1 [==============================] - 0s 18ms/step 1/1 [==============================] - 0s 19ms/step 1/1 [==============================] - 0s 18ms/step - loss: 0.0171 - mse: 0.0171 1/1 [==============================] - 0s 15ms/step 1/1 [==============================] - 0s 31ms/step 1/1 [==============================] - 0s 20ms/step - loss: 0.0175 - mse: 0.0175 1/1 [==============================] - 0s 27ms/step 1/1 [==============================] - 0s 8ms/step 1/1 [==============================] - 0s 18ms/step - loss: 0.0176 - mse: 0.0176 1/1 [==============================] - 0s 16ms/step 1/1 [==============================] - 0s 16ms/step 1/1 [==============================] - 0s 17ms/step - loss: 0.0178 - mse: 0.0178 1/1 [==============================] - 0s 31ms/step 1/1 [==============================] - 0s 16ms/step 1/1 [==============================] - 0s 18ms/step - loss: 0.0196 - mse: 0.0196 1/1 [==============================] - 0s 30ms/step 1/1 [==============================] - 0s 17ms/step 1/1 [==============================] - 0s 18ms/step - loss: 0.0180 - mse: 0.0180 1/1 [==============================] - 0s 17ms/step 1/1 [==============================] - 0s 16ms/step 1/1 [==============================] - 0s 21ms/step - loss: 0.0186 - mse: 0.0186 1/1 [==============================] - 0s 19ms/step 1/1 [==============================] - 0s 10ms/step 1/1 [==============================] - 0s 15ms/step - loss: 0.0195 - mse: 0.0195 1/1 [==============================] - 0s 30ms/step 1/1 [==============================] - 0s 31ms/step 1/1 [==============================] - 0s 22ms/step - loss: 0.0195 - mse: 0.0195 1/1 [==============================] - 0s 24ms/step 1/1 [==============================] - 0s 7ms/step 1/1 [==============================] - 0s 14ms/step - loss: 0.0187 - mse: 0.0187 1/1 [==============================] - 0s 15ms/step 1/1 [==============================] - 0s 15ms/step 1/1 [==============================] - 0s 24ms/step - loss: 0.0186 - mse: 0.0186 1/1 [==============================] - 0s 17ms/step 1/1 [==============================] - 0s 11ms/step 1/1 [==============================] - 0s 17ms/step - loss: 0.0192 - mse: 0.0192 1/1 [==============================] - 0s 29ms/step 1/1 [==============================] - 0s 15ms/step 1/1 [==============================] - 0s 18ms/step - loss: 0.0188 - mse: 0.0188 1/1 [==============================] - 0s 29ms/step 1/1 [==============================] - 0s 30ms/step 1/1 [==============================] - 0s 23ms/step - loss: 0.0191 - mse: 0.0191 1/1 [==============================] - 0s 16ms/step 1/1 [==============================] - 0s 12ms/step 1/1 [==============================] - 0s 32ms/step - loss: 0.0191 - mse: 0.0191 1/1 [==============================] - 0s 17ms/step 1/1 [==============================] - 0s 10ms/step 1/1 [==============================] - 0s 33ms/step - loss: 0.0187 - mse: 0.0187 1/1 [==============================] - 0s 12ms/step 1/1 [==============================] - 0s 10ms/step 1/1 [==============================] - 0s 16ms/step - loss: 0.0188 - mse: 0.0188 1/1 [==============================] - 0s 15ms/step 1/1 [==============================] - 0s 16ms/step 1/1 [==============================] - 0s 20ms/step - loss: 0.0190 - mse: 0.0190 Average density (non-anomalous images): 265.90301190444285 Standard deviation density (non-anomalous images): 1.4092016876758164 Average reconstruction error (non-anomalous images): 0.0071697112695787045 Standard deviation reconstruction error (non-anomalous images): 0.005428037451500858 Average density (anomalous images): 212.46010726773497 Standard deviation density (anomalous images): 38.00109820385244 Average reconstruction error (anomalous images): 0.0164047499142942 Standard deviation reconstruction error (anomalous images): 0.0017265816782982793
In [ ]:
# Generate final prediction for validation and anomaly images based on reconstruction error and density of the encoded images
def predict_images(batch_images, avg_density, std_density, avg_recon_error, std_recon_error):
predictions = []
density_list = []
recon_error_list = []
for im in range(0, batch_images.shape[0] - 1):
img = batch_images[im]
img = img[np.newaxis, :, :, :]
encoded_img = encoder_model.predict(img)
encoded_img = [np.reshape(img, (out_vector_shape)) for img in encoded_img]
density = kde.score_samples(encoded_img)[0]
reconstruction = model.predict(img)
reconstruction_error = model.evaluate(reconstruction, img, batch_size=1)[0]
density_list.append(density)
recon_error_list.append(reconstruction_error)
if density < avg_density - std_density or reconstruction_error > avg_recon_error + std_recon_error:
# if reconstruction_error < avg_recon_error + std_recon_error :
predictions.append(1)
else:
predictions.append(0)
return predictions, density_list, recon_error_list
validation_batch = validation_generator.next()[0]
anomaly_batch = anomaly_generator.next()[0]
validation_predictions, validation_densities, validation_errors = predict_images(validation_batch,
uninfected_values[0],
uninfected_values[1],
uninfected_values[2],
uninfected_values[3])
anomaly_predictions, anomaly_densities, anomaly_errors = predict_images(anomaly_batch,
uninfected_values[0],
uninfected_values[1],
uninfected_values[2],
uninfected_values[3])
1/1 [==============================] - 0s 21ms/step 1/1 [==============================] - 0s 21ms/step 1/1 [==============================] - 0s 13ms/step 1/1 [==============================] - 0s 28ms/step - loss: 0.0038 - mse: 0.0038 1/1 [==============================] - 0s 13ms/step 1/1 [==============================] - 0s 29ms/step 1/1 [==============================] - 0s 22ms/step - loss: 3.9086e-04 - mse: 3.9086e-04 1/1 [==============================] - 0s 14ms/step 1/1 [==============================] - 0s 12ms/step 1/1 [==============================] - 0s 28ms/step - loss: 0.0049 - mse: 0.0049 1/1 [==============================] - 0s 19ms/step 1/1 [==============================] - 0s 15ms/step 1/1 [==============================] - 0s 26ms/step - loss: 4.2954e-04 - mse: 4.2954e-04 1/1 [==============================] - 0s 15ms/step 1/1 [==============================] - 0s 21ms/step 1/1 [==============================] - 0s 19ms/step - loss: 0.0056 - mse: 0.0056 1/1 [==============================] - 0s 14ms/step 1/1 [==============================] - 0s 19ms/step 1/1 [==============================] - 0s 30ms/step - loss: 4.4401e-04 - mse: 4.4401e-04 1/1 [==============================] - 0s 13ms/step 1/1 [==============================] - 0s 18ms/step 1/1 [==============================] - 0s 28ms/step - loss: 0.0130 - mse: 0.0130 1/1 [==============================] - 0s 26ms/step 1/1 [==============================] - 0s 16ms/step 1/1 [==============================] - 0s 24ms/step - loss: 0.0125 - mse: 0.0125 1/1 [==============================] - 0s 15ms/step 1/1 [==============================] - 0s 31ms/step 1/1 [==============================] - 0s 28ms/step - loss: 0.0128 - mse: 0.0128 1/1 [==============================] - 0s 14ms/step 1/1 [==============================] - 0s 17ms/step 1/1 [==============================] - 0s 18ms/step - loss: 0.0128 - mse: 0.0128 1/1 [==============================] - 0s 16ms/step 1/1 [==============================] - 0s 31ms/step 1/1 [==============================] - 0s 28ms/step - loss: 3.6452e-04 - mse: 3.6452e-04 1/1 [==============================] - 0s 13ms/step 1/1 [==============================] - 0s 17ms/step 1/1 [==============================] - 0s 28ms/step - loss: 4.4874e-04 - mse: 4.4874e-04 1/1 [==============================] - 0s 12ms/step 1/1 [==============================] - 0s 9ms/step 1/1 [==============================] - 0s 26ms/step - loss: 3.9513e-04 - mse: 3.9513e-04 1/1 [==============================] - 0s 15ms/step 1/1 [==============================] - 0s 14ms/step 1/1 [==============================] - 0s 19ms/step - loss: 0.0061 - mse: 0.0061 1/1 [==============================] - 0s 17ms/step 1/1 [==============================] - 0s 13ms/step 1/1 [==============================] - 0s 16ms/step - loss: 6.7565e-04 - mse: 6.7565e-04 1/1 [==============================] - 0s 14ms/step 1/1 [==============================] - 0s 12ms/step 1/1 [==============================] - 0s 16ms/step - loss: 3.7368e-04 - mse: 3.7368e-04 1/1 [==============================] - 0s 30ms/step 1/1 [==============================] - 0s 29ms/step 1/1 [==============================] - 0s 28ms/step - loss: 3.7878e-04 - mse: 3.7878e-04 1/1 [==============================] - 0s 15ms/step 1/1 [==============================] - 0s 14ms/step 1/1 [==============================] - 0s 16ms/step - loss: 3.6879e-04 - mse: 3.6879e-04 1/1 [==============================] - 0s 17ms/step 1/1 [==============================] - 0s 11ms/step 1/1 [==============================] - 0s 20ms/step - loss: 3.5445e-04 - mse: 3.5445e-04 1/1 [==============================] - 0s 24ms/step 1/1 [==============================] - 0s 10ms/step 1/1 [==============================] - 0s 16ms/step - loss: 3.6611e-04 - mse: 3.6611e-04 1/1 [==============================] - 0s 14ms/step 1/1 [==============================] - 0s 15ms/step 1/1 [==============================] - 0s 25ms/step - loss: 3.5850e-04 - mse: 3.5850e-04 1/1 [==============================] - 0s 13ms/step 1/1 [==============================] - 0s 16ms/step 1/1 [==============================] - 0s 31ms/step - loss: 3.5431e-04 - mse: 3.5431e-04 1/1 [==============================] - 0s 13ms/step 1/1 [==============================] - 0s 11ms/step 1/1 [==============================] - 0s 28ms/step - loss: 3.5890e-04 - mse: 3.5890e-04 1/1 [==============================] - 0s 15ms/step 1/1 [==============================] - 0s 19ms/step 1/1 [==============================] - 0s 27ms/step - loss: 3.6203e-04 - mse: 3.6203e-04 1/1 [==============================] - 0s 14ms/step 1/1 [==============================] - 0s 12ms/step 1/1 [==============================] - 0s 27ms/step - loss: 4.3285e-04 - mse: 4.3285e-04 1/1 [==============================] - 0s 13ms/step 1/1 [==============================] - 0s 23ms/step 1/1 [==============================] - 0s 22ms/step - loss: 0.0068 - mse: 0.0068 1/1 [==============================] - 0s 24ms/step 1/1 [==============================] - 0s 9ms/step 1/1 [==============================] - 0s 18ms/step - loss: 6.6502e-04 - mse: 6.6502e-04 1/1 [==============================] - 0s 30ms/step 1/1 [==============================] - 0s 28ms/step 1/1 [==============================] - 0s 23ms/step - loss: 6.4777e-04 - mse: 6.4777e-04 1/1 [==============================] - 0s 14ms/step 1/1 [==============================] - 0s 15ms/step 1/1 [==============================] - 0s 22ms/step - loss: 9.6209e-04 - mse: 9.6209e-04 1/1 [==============================] - 0s 14ms/step 1/1 [==============================] - 0s 9ms/step 1/1 [==============================] - 0s 30ms/step - loss: 0.0012 - mse: 0.0012 1/1 [==============================] - 0s 10ms/step 1/1 [==============================] - 0s 30ms/step 1/1 [==============================] - 0s 28ms/step - loss: 0.0014 - mse: 0.0014 1/1 [==============================] - 0s 15ms/step 1/1 [==============================] - 0s 11ms/step 1/1 [==============================] - 0s 16ms/step - loss: 0.0020 - mse: 0.0020 1/1 [==============================] - 0s 31ms/step 1/1 [==============================] - 0s 17ms/step 1/1 [==============================] - 0s 20ms/step - loss: 0.0025 - mse: 0.0025 1/1 [==============================] - 0s 29ms/step 1/1 [==============================] - 0s 30ms/step 1/1 [==============================] - 0s 21ms/step - loss: 0.0027 - mse: 0.0027 1/1 [==============================] - 0s 17ms/step 1/1 [==============================] - 0s 14ms/step 1/1 [==============================] - 0s 28ms/step - loss: 0.0028 - mse: 0.0028 1/1 [==============================] - 0s 18ms/step 1/1 [==============================] - 0s 16ms/step 1/1 [==============================] - 0s 21ms/step - loss: 0.0031 - mse: 0.0031 1/1 [==============================] - 0s 28ms/step 1/1 [==============================] - 0s 18ms/step 1/1 [==============================] - 0s 27ms/step - loss: 0.0037 - mse: 0.0037 1/1 [==============================] - 0s 17ms/step 1/1 [==============================] - 0s 13ms/step 1/1 [==============================] - 0s 25ms/step - loss: 0.0070 - mse: 0.0070 1/1 [==============================] - 0s 13ms/step 1/1 [==============================] - 0s 17ms/step 1/1 [==============================] - 0s 24ms/step - loss: 0.0010 - mse: 0.0010 1/1 [==============================] - 0s 17ms/step 1/1 [==============================] - 0s 13ms/step 1/1 [==============================] - 0s 30ms/step - loss: 0.0044 - mse: 0.0044 1/1 [==============================] - 0s 17ms/step 1/1 [==============================] - 0s 17ms/step 1/1 [==============================] - 0s 17ms/step - loss: 0.0044 - mse: 0.0044 1/1 [==============================] - 0s 30ms/step 1/1 [==============================] - 0s 16ms/step 1/1 [==============================] - 0s 21ms/step - loss: 0.0052 - mse: 0.0052 1/1 [==============================] - 0s 26ms/step 1/1 [==============================] - 0s 8ms/step 1/1 [==============================] - 0s 29ms/step - loss: 0.0056 - mse: 0.0056 1/1 [==============================] - 0s 15ms/step 1/1 [==============================] - 0s 19ms/step 1/1 [==============================] - 0s 20ms/step - loss: 0.0063 - mse: 0.0063 1/1 [==============================] - 0s 28ms/step 1/1 [==============================] - 0s 29ms/step 1/1 [==============================] - 0s 24ms/step - loss: 0.0063 - mse: 0.0063 1/1 [==============================] - 0s 13ms/step 1/1 [==============================] - 0s 14ms/step 1/1 [==============================] - 0s 19ms/step - loss: 0.0064 - mse: 0.0064 1/1 [==============================] - 0s 14ms/step 1/1 [==============================] - 0s 14ms/step 1/1 [==============================] - 0s 15ms/step - loss: 0.0065 - mse: 0.0065 1/1 [==============================] - 0s 17ms/step 1/1 [==============================] - 0s 15ms/step 1/1 [==============================] - 0s 28ms/step - loss: 0.0067 - mse: 0.0067 1/1 [==============================] - 0s 29ms/step 1/1 [==============================] - 0s 17ms/step 1/1 [==============================] - 0s 20ms/step - loss: 0.0076 - mse: 0.0076 1/1 [==============================] - 0s 20ms/step 1/1 [==============================] - 0s 16ms/step 1/1 [==============================] - 0s 19ms/step - loss: 0.0012 - mse: 0.0012 1/1 [==============================] - 0s 15ms/step 1/1 [==============================] - 0s 15ms/step 1/1 [==============================] - 0s 24ms/step - loss: 0.0076 - mse: 0.0076 1/1 [==============================] - 0s 28ms/step 1/1 [==============================] - 0s 31ms/step 1/1 [==============================] - 0s 20ms/step - loss: 0.0079 - mse: 0.0079 1/1 [==============================] - 0s 30ms/step 1/1 [==============================] - 0s 32ms/step 1/1 [==============================] - 0s 20ms/step - loss: 0.0081 - mse: 0.0081 1/1 [==============================] - 0s 29ms/step 1/1 [==============================] - 0s 14ms/step 1/1 [==============================] - 0s 31ms/step - loss: 0.0083 - mse: 0.0083 1/1 [==============================] - 0s 14ms/step 1/1 [==============================] - 0s 13ms/step 1/1 [==============================] - 0s 18ms/step - loss: 0.0084 - mse: 0.0084 1/1 [==============================] - 0s 15ms/step 1/1 [==============================] - 0s 14ms/step 1/1 [==============================] - 0s 17ms/step - loss: 0.0091 - mse: 0.0091 1/1 [==============================] - 0s 16ms/step 1/1 [==============================] - 0s 17ms/step 1/1 [==============================] - 0s 19ms/step - loss: 0.0092 - mse: 0.0092 1/1 [==============================] - 0s 25ms/step 1/1 [==============================] - 0s 13ms/step 1/1 [==============================] - 0s 14ms/step - loss: 0.0087 - mse: 0.0087 1/1 [==============================] - 0s 14ms/step 1/1 [==============================] - 0s 18ms/step 1/1 [==============================] - 0s 18ms/step - loss: 3.5712e-04 - mse: 3.5712e-04 1/1 [==============================] - 0s 29ms/step 1/1 [==============================] - 0s 29ms/step 1/1 [==============================] - 0s 20ms/step - loss: 0.0081 - mse: 0.0081 1/1 [==============================] - 0s 26ms/step 1/1 [==============================] - 0s 14ms/step 1/1 [==============================] - 0s 28ms/step - loss: 0.0015 - mse: 0.0015 1/1 [==============================] - 0s 14ms/step 1/1 [==============================] - 0s 15ms/step 1/1 [==============================] - 0s 16ms/step - loss: 0.0071 - mse: 0.0071 1/1 [==============================] - 0s 16ms/step 1/1 [==============================] - 0s 14ms/step 1/1 [==============================] - 0s 15ms/step - loss: 0.0075 - mse: 0.0075 1/1 [==============================] - 0s 17ms/step 1/1 [==============================] - 0s 13ms/step 1/1 [==============================] - 0s 16ms/step - loss: 0.0193 - mse: 0.0193 1/1 [==============================] - 0s 15ms/step 1/1 [==============================] - 0s 14ms/step 1/1 [==============================] - 0s 16ms/step - loss: 0.0195 - mse: 0.0195 1/1 [==============================] - 0s 15ms/step 1/1 [==============================] - 0s 16ms/step 1/1 [==============================] - 0s 20ms/step - loss: 0.0196 - mse: 0.0196 1/1 [==============================] - 0s 30ms/step 1/1 [==============================] - 0s 30ms/step 1/1 [==============================] - 0s 21ms/step - loss: 0.0193 - mse: 0.0193 1/1 [==============================] - 0s 26ms/step 1/1 [==============================] - 0s 10ms/step 1/1 [==============================] - 0s 18ms/step - loss: 0.0193 - mse: 0.0193 1/1 [==============================] - 0s 30ms/step 1/1 [==============================] - 0s 30ms/step 1/1 [==============================] - 0s 21ms/step - loss: 0.0194 - mse: 0.0194 1/1 [==============================] - 0s 25ms/step 1/1 [==============================] - 0s 7ms/step 1/1 [==============================] - 0s 18ms/step - loss: 0.0191 - mse: 0.0191 1/1 [==============================] - 0s 13ms/step 1/1 [==============================] - 0s 17ms/step 1/1 [==============================] - 0s 18ms/step - loss: 0.0185 - mse: 0.0185 1/1 [==============================] - 0s 27ms/step 1/1 [==============================] - 0s 7ms/step 1/1 [==============================] - 0s 28ms/step - loss: 0.0186 - mse: 0.0186 1/1 [==============================] - 0s 16ms/step 1/1 [==============================] - 0s 16ms/step 1/1 [==============================] - 0s 18ms/step - loss: 0.0177 - mse: 0.0177 1/1 [==============================] - 0s 15ms/step 1/1 [==============================] - 0s 31ms/step 1/1 [==============================] - 0s 21ms/step - loss: 0.0173 - mse: 0.0173 1/1 [==============================] - 0s 25ms/step 1/1 [==============================] - 0s 9ms/step 1/1 [==============================] - 0s 19ms/step - loss: 0.0164 - mse: 0.0164 1/1 [==============================] - 0s 31ms/step 1/1 [==============================] - 0s 30ms/step 1/1 [==============================] - 0s 17ms/step - loss: 0.0158 - mse: 0.0158 1/1 [==============================] - 0s 30ms/step 1/1 [==============================] - 0s 17ms/step 1/1 [==============================] - 0s 19ms/step - loss: 0.0150 - mse: 0.0150 1/1 [==============================] - 0s 16ms/step 1/1 [==============================] - 0s 16ms/step 1/1 [==============================] - 0s 27ms/step - loss: 0.0141 - mse: 0.0141 1/1 [==============================] - 0s 15ms/step 1/1 [==============================] - 0s 16ms/step 1/1 [==============================] - 0s 31ms/step - loss: 0.0140 - mse: 0.0140 1/1 [==============================] - 0s 19ms/step 1/1 [==============================] - 0s 10ms/step 1/1 [==============================] - 0s 31ms/step - loss: 0.0137 - mse: 0.0137 1/1 [==============================] - 0s 3ms/step 1/1 [==============================] - 0s 16ms/step 1/1 [==============================] - 0s 21ms/step - loss: 0.0136 - mse: 0.0136 1/1 [==============================] - 0s 28ms/step 1/1 [==============================] - 0s 32ms/step 1/1 [==============================] - 0s 21ms/step - loss: 0.0133 - mse: 0.0133 1/1 [==============================] - 0s 16ms/step 1/1 [==============================] - 0s 32ms/step 1/1 [==============================] - 0s 29ms/step - loss: 0.0133 - mse: 0.0133 1/1 [==============================] - 0s 14ms/step 1/1 [==============================] - 0s 15ms/step 1/1 [==============================] - 0s 17ms/step - loss: 0.0132 - mse: 0.0132 1/1 [==============================] - 0s 31ms/step 1/1 [==============================] - 0s 33ms/step 1/1 [==============================] - 0s 20ms/step - loss: 0.0131 - mse: 0.0131 1/1 [==============================] - 0s 30ms/step 1/1 [==============================] - 0s 30ms/step 1/1 [==============================] - 0s 18ms/step - loss: 0.0137 - mse: 0.0137 1/1 [==============================] - 0s 30ms/step 1/1 [==============================] - 0s 17ms/step 1/1 [==============================] - 0s 17ms/step - loss: 0.0135 - mse: 0.0135 1/1 [==============================] - 0s 30ms/step 1/1 [==============================] - 0s 18ms/step 1/1 [==============================] - 0s 22ms/step - loss: 0.0134 - mse: 0.0134 1/1 [==============================] - 0s 19ms/step 1/1 [==============================] - 0s 15ms/step 1/1 [==============================] - 0s 32ms/step - loss: 0.0138 - mse: 0.0138 1/1 [==============================] - 0s 16ms/step 1/1 [==============================] - 0s 13ms/step 1/1 [==============================] - 0s 35ms/step - loss: 0.0140 - mse: 0.0140 1/1 [==============================] - 0s 12ms/step 1/1 [==============================] - 0s 14ms/step 1/1 [==============================] - 0s 28ms/step - loss: 0.0137 - mse: 0.0137 1/1 [==============================] - 0s 11ms/step 1/1 [==============================] - 0s 14ms/step 1/1 [==============================] - 0s 34ms/step - loss: 0.0137 - mse: 0.0137 1/1 [==============================] - 0s 12ms/step 1/1 [==============================] - 0s 14ms/step 1/1 [==============================] - 0s 28ms/step - loss: 0.0138 - mse: 0.0138 1/1 [==============================] - 0s 12ms/step 1/1 [==============================] - 0s 12ms/step 1/1 [==============================] - 0s 29ms/step - loss: 0.0140 - mse: 0.0140 1/1 [==============================] - 0s 17ms/step 1/1 [==============================] - 0s 9ms/step 1/1 [==============================] - 0s 19ms/step - loss: 0.0144 - mse: 0.0144 1/1 [==============================] - 0s 30ms/step 1/1 [==============================] - 0s 17ms/step 1/1 [==============================] - 0s 28ms/step - loss: 0.0145 - mse: 0.0145 1/1 [==============================] - 0s 28ms/step 1/1 [==============================] - 0s 18ms/step 1/1 [==============================] - 0s 24ms/step - loss: 0.0147 - mse: 0.0147 1/1 [==============================] - 0s 14ms/step 1/1 [==============================] - 0s 28ms/step 1/1 [==============================] - 0s 32ms/step - loss: 0.0147 - mse: 0.0147 1/1 [==============================] - 0s 13ms/step 1/1 [==============================] - 0s 16ms/step 1/1 [==============================] - 0s 25ms/step - loss: 0.0147 - mse: 0.0147 1/1 [==============================] - 0s 13ms/step 1/1 [==============================] - 0s 11ms/step 1/1 [==============================] - 0s 31ms/step - loss: 0.0147 - mse: 0.0147 1/1 [==============================] - 0s 16ms/step 1/1 [==============================] - 0s 14ms/step 1/1 [==============================] - 0s 16ms/step - loss: 0.0151 - mse: 0.0151 1/1 [==============================] - 0s 16ms/step 1/1 [==============================] - 0s 18ms/step 1/1 [==============================] - 0s 29ms/step - loss: 0.0151 - mse: 0.0151 1/1 [==============================] - 0s 13ms/step 1/1 [==============================] - 0s 7ms/step 1/1 [==============================] - 0s 19ms/step - loss: 0.0151 - mse: 0.0151 1/1 [==============================] - 0s 14ms/step 1/1 [==============================] - 0s 30ms/step 1/1 [==============================] - 0s 21ms/step - loss: 0.0149 - mse: 0.0149 1/1 [==============================] - 0s 27ms/step 1/1 [==============================] - 0s 4ms/step 1/1 [==============================] - 0s 13ms/step - loss: 0.0147 - mse: 0.0147 1/1 [==============================] - 0s 14ms/step 1/1 [==============================] - 0s 16ms/step 1/1 [==============================] - 0s 20ms/step - loss: 0.0147 - mse: 0.0147 1/1 [==============================] - 0s 31ms/step 1/1 [==============================] - 0s 31ms/step 1/1 [==============================] - 0s 28ms/step - loss: 0.0150 - mse: 0.0150 1/1 [==============================] - 0s 20ms/step 1/1 [==============================] - 0s 15ms/step 1/1 [==============================] - 0s 23ms/step - loss: 0.0153 - mse: 0.0153 1/1 [==============================] - 0s 13ms/step 1/1 [==============================] - 0s 8ms/step 1/1 [==============================] - 0s 19ms/step - loss: 0.0153 - mse: 0.0153 1/1 [==============================] - 0s 29ms/step 1/1 [==============================] - 0s 28ms/step 1/1 [==============================] - 0s 25ms/step - loss: 0.0151 - mse: 0.0151 1/1 [==============================] - 0s 13ms/step 1/1 [==============================] - 0s 8ms/step 1/1 [==============================] - 0s 31ms/step - loss: 0.0155 - mse: 0.0155 1/1 [==============================] - 0s 12ms/step 1/1 [==============================] - 0s 31ms/step 1/1 [==============================] - 0s 14ms/step - loss: 0.0160 - mse: 0.0160 1/1 [==============================] - 0s 14ms/step 1/1 [==============================] - 0s 16ms/step 1/1 [==============================] - 0s 21ms/step - loss: 0.0155 - mse: 0.0155 1/1 [==============================] - 0s 27ms/step 1/1 [==============================] - 0s 5ms/step 1/1 [==============================] - 0s 19ms/step - loss: 0.0154 - mse: 0.0154 1/1 [==============================] - 0s 15ms/step 1/1 [==============================] - 0s 29ms/step 1/1 [==============================] - 0s 22ms/step - loss: 0.0160 - mse: 0.0160 1/1 [==============================] - 0s 20ms/step 1/1 [==============================] - 0s 16ms/step 1/1 [==============================] - 0s 23ms/step - loss: 0.0160 - mse: 0.0160 1/1 [==============================] - 0s 25ms/step 1/1 [==============================] - 0s 9ms/step 1/1 [==============================] - 0s 19ms/step - loss: 0.0162 - mse: 0.0162 1/1 [==============================] - 0s 15ms/step 1/1 [==============================] - 0s 31ms/step 1/1 [==============================] - 0s 21ms/step - loss: 0.0166 - mse: 0.0166 1/1 [==============================] - 0s 24ms/step 1/1 [==============================] - 0s 8ms/step 1/1 [==============================] - 0s 19ms/step - loss: 0.0166 - mse: 0.0166 1/1 [==============================] - 0s 30ms/step 1/1 [==============================] - 0s 30ms/step 1/1 [==============================] - 0s 20ms/step - loss: 0.0170 - mse: 0.0170 1/1 [==============================] - 0s 30ms/step 1/1 [==============================] - 0s 31ms/step 1/1 [==============================] - 0s 20ms/step - loss: 0.0169 - mse: 0.0169 1/1 [==============================] - 0s 27ms/step 1/1 [==============================] - 0s 7ms/step 1/1 [==============================] - 0s 19ms/step - loss: 0.0170 - mse: 0.0170 1/1 [==============================] - 0s 16ms/step 1/1 [==============================] - 0s 31ms/step 1/1 [==============================] - 0s 21ms/step - loss: 0.0170 - mse: 0.0170 1/1 [==============================] - 0s 29ms/step 1/1 [==============================] - 0s 30ms/step 1/1 [==============================] - 0s 23ms/step - loss: 0.0172 - mse: 0.0172 1/1 [==============================] - 0s 13ms/step 1/1 [==============================] - 0s 11ms/step 1/1 [==============================] - 0s 21ms/step - loss: 0.0171 - mse: 0.0171 1/1 [==============================] - 0s 27ms/step 1/1 [==============================] - 0s 10ms/step 1/1 [==============================] - 0s 20ms/step - loss: 0.0172 - mse: 0.0172
In [ ]:
# Create true values for the predictions
true_values_validation = np.zeros(len(validation_predictions))
true_values_anomaly = np.ones(len(anomaly_predictions))
# Combining the results and calculating evaluation metrics
predictions_combined = np.concatenate([validation_predictions, anomaly_predictions])
true_values_combined = np.concatenate([true_values_validation, true_values_anomaly])
print("Confusion Matrix:\n", confusion_matrix(true_values_combined, predictions_combined))
print("Classification Report:\n", classification_report(true_values_combined, predictions_combined))
print("Accuracy Score: ", accuracy_score(true_values_combined, predictions_combined))
print("Precision Score: ", precision_score(true_values_combined, predictions_combined))
print("Recall Score: ", recall_score(true_values_combined, predictions_combined))
print("F1 Score: ", f1_score(true_values_combined, predictions_combined))
Confusion Matrix:
[[34 29]
[ 0 63]]
Classification Report:
precision recall f1-score support
0.0 1.00 0.54 0.70 63
1.0 0.68 1.00 0.81 63
accuracy 0.77 126
macro avg 0.84 0.77 0.76 126
weighted avg 0.84 0.77 0.76 126
Accuracy Score: 0.7698412698412699
Precision Score: 0.6847826086956522
Recall Score: 1.0
F1 Score: 0.8129032258064516
In [ ]:
import numpy as np
import matplotlib.pyplot as plt
from sklearn.metrics import confusion_matrix, classification_report, accuracy_score, precision_score, recall_score, f1_score
# Define your functions and existing code here
# calc_density_and_recon_error, predict_images, etc.
# Visualize a maximum of 30 images for each class
def visualize_predictions(images, predictions, densities, errors, true_labels, class_names, max_per_class=30):
# Convert inputs to lists if they are not already
images = list(images)
predictions = list(predictions)
densities = list(densities)
errors = list(errors)
true_labels = list(true_labels)
# Filter out a maximum of max_per_class images for each class
filtered_images = []
filtered_predictions = []
filtered_densities = []
filtered_errors = []
filtered_true_labels = []
for class_label in range(len(class_names)):
class_indices = [i for i, label in enumerate(true_labels) if label == class_label]
class_indices = class_indices[:max_per_class]
filtered_images.extend([images[i] for i in class_indices])
filtered_predictions.extend([predictions[i] for i in class_indices])
filtered_densities.extend([densities[i] for i in class_indices])
filtered_errors.extend([errors[i] for i in class_indices])
filtered_true_labels.extend([true_labels[i] for i in class_indices])
num_images = len(filtered_images)
num_cols = 5
num_rows = (num_images + num_cols - 1) // num_cols # Ceiling division
plt.figure(figsize=(20, num_rows * 4)) # Adjust the height based on the number of rows
for i in range(num_images):
plt.subplot(num_rows, num_cols, i + 1)
plt.imshow(filtered_images[i])
pred_class = int(filtered_predictions[i])
true_class = int(filtered_true_labels[i])
plt.title(f"Pred: {class_names[pred_class]}\nTrue: {class_names[true_class]}\nDensity: {filtered_densities[i]:.2f}\nError: {filtered_errors[i]:.2f}")
plt.axis('off')
plt.tight_layout()
plt.show()
# Visualize anomaly images
visualize_predictions(anomaly_batch, anomaly_predictions, anomaly_densities, anomaly_errors, true_values_anomaly, class_names=["Normal", "Anomaly"])
In [ ]:
# Visualize validation images
visualize_predictions(validation_batch, validation_predictions, validation_densities, validation_errors, true_values_validation, class_names=["Normal", "Anomaly"])